Linux中国 | Linux.cn - 我们的Linux中文社区

 找回密码
 加入

QQ登录

QQ登录

搜索

在 Linux Deepin 10.12 ( Ubuntu 10.10 Desktop ) 下安装 nginx mysql php fcgi

热度 12已有 1972 次阅读2010-12-11 23:37 |关键词:ubuntu nginx lnmp linux ide 希捷 内存 操作系统

 

操作环境是一台拼凑而成的老机器,奔四2.8G的CPU,1.5G内存,40G希捷IDE硬盘,大致是04年的硬件水平。这次装LNMP别的不为,只装WordPress。
操作系统是我自己安装的LinuxDeepin10.12, 基于UbuntuDesktop。桌面版的Ubuntu拿来做服务器没什么问题,记得把语言环境设置成英文就好。
我之前用LNMP一键安装包安装过一次LNMP,结果没成功又找不到错误,于是全部purge了从头开始。这次选择所有的软件用apt安装然后手动配置,结果一帆风顺。
安装nginx:
sudo apt-get install nginx
瞬间装好。nginx的大致结构为
所有的配置文件在/etc/nginx/
虚拟主机在/etc/nginx/sites-available/,这里我用“default”
在/etc/nginx/sites-enabled/下需要创建一个到/etc/nginx/sites-available/虚拟主机配置文件的链接,安装的时候default的链接已经做好。
日志在/var/log/nginx/
启动脚本已经在/etc/init.d/创立好,并且在/etc/rc2.d/也有了。
现在可以启动nginx试试看
sudo /etc/init.d/nginx start
这里不大可能有问题的。如果提示无法bind,可能是系统有其他进程(apache之类的)占了80端口,口,停之。
安装php:
sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl
这个是从别人那里copy过来的。我用不上这么多,不过多装无所谓,少装倒有可能出问题。
安装spawn-fcgi:
sudo apt-get install spawn-fcgi
原先我是安装php-fpm的,结果那个东西搞死就是设置不好,于是废掉,改用spawn-fcgi. 这玩意原先是lighttpd的组件,后来独立了,完全可以单独安装,并且配合nginx使用。
配置nginx和spawn-fcgi:
修改/etc/nginx/fastcgi_params,加入下面这一行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
在/etc/php5/cgi/php.ini中找到cgi.fix_pathinfo=1这一行,把前面的注释去掉。这样php-cgi才能正常使用SCRIPT_FILENAME这个变量
打开/etc/nginx/sites-available/default文件,稍做修改。我把我的贴在这里:
server {
        listen   80; ## listen for ipv4
        listen   [::]:80 default ipv6only=on; ## listen for ipv6
        server_name  localhost;
        root    /var/www/nginx-default;
        access_log  /var/log/nginx/localhost.access.log;
        location / {
                root   /var/www/nginx-default;
                index  index.php index.html index.html index.htm;
        }
        error_page  404  /404.html;
        location = /404.html {
        root    /var/www/nginx-default;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root   /var/www/nginx-default;
        }
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
                include fastcgi_params;#注意!这个地方原先少一个空格!
        }
}
有的地方写的有点重复罗嗦,不过能用。
nginx上的参考文档地址:http://wiki.nginx.org/NginxFullExample
启动spawn-fcgi:
sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
应该不会出现不能bind的情况。如果真的出现了,可以找进程杀掉或者换端口。
我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。
重新载入nginx:
sudo /etc/init.d/nginx reload
修改nginx配置文件之后一定要reload才会生效。当然也可以restart。此处如果提示配置文件不能通过,就去那个文件仔细查看找错误。我遇到过一次,然后发现default文件中少一个空格。
安装PHP和MySQL:
sudo apt-get install mysql-server mysql-client
中间会提示输入Root用户密码,不要弄太简单。
启动MySQL
sudo /etc/init.d/mysql start
我不会sql,就没有用mysql的命令行进行设置,而是使用了phpmyadmin在浏览器页面设置。
安装WordPress:
这是最轻松愉快的,五分钟之内搞定。需要做的是建立一个用户和一个数据库,然后直接访问wordpress文件夹,跟着它说的走。

操作环境是一台拼凑而成的老机器,奔四2.8G的CPU,1.5G内存,40G希捷IDE硬盘,大致是04年的硬件水平。这次装LNMP别的不为,只装WordPress。
操作系统是我自己安装的LinuxDeepin10.12, 基于UbuntuDesktop。桌面版的Ubuntu拿来做服务器没什么问题,记得把语言环境设置成英文就好。
我之前用LNMP一键安装包安装过一次LNMP,结果没成功又找不到错误,于是全部purge了从头开始。这次选择所有的软件用apt安装然后手动配置,结果一帆风顺。

安装nginx:

sudo apt-get install nginx


瞬间装好。nginx的大致结构为
所有的配置文件在/etc/nginx/
虚拟主机在/etc/nginx/sites-available/,这里我用“default”
在/etc/nginx/sites-enabled/下需要创建一个到/etc/nginx/sites-available/虚拟主机配置文件的链接,安装的时候default的链接已经做好。
日志在/var/log/nginx/
启动脚本已经在/etc/init.d/创立好,并且在/etc/rc2.d/也有了。
现在可以启动nginx试试看

sudo /etc/init.d/nginx start


这里不大可能有问题的。如果提示无法bind,可能是系统有其他进程(apache之类的)占了80端口,停之。

安装php:

sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl


这个是从别人那里copy过来的。我用不上这么多,不过多装无所谓,少装倒有可能出问题。

安装spawn-fcgi:

sudo apt-get install spawn-fcgi


原先我是安装php-fpm的,结果那个东西搞死就是设置不好,于是废掉,改用spawn-fcgi. 这玩意原先是lighttpd的组件,后来独立了,完全可以单独安装,并且配合nginx使用。

配置nginx和spawn-fcgi:修改/etc/nginx/fastcgi_params,加入下面这一行:

sudo apt-get install spawn-fcgi


在/etc/php5/cgi/php.ini中找到cgi.fix_pathinfo=1这一行,把前面的注释去掉。这样php-cgi才能正常使用SCRIPT_FILENAME这个变量
打开/etc/nginx/sites-available/default文件,稍做修改。我把我的贴在这里:

 

 

 

 

server {



	listen   80; ## listen for ipv4

	listen   [::]:80 default ipv6only=on; ## listen for ipv6



	server_name  localhost;

	

	root	/var/www/nginx-default;



	access_log  /var/log/nginx/localhost.access.log;



	location / {

		root   /var/www/nginx-default;

		index  index.php index.html index.html index.htm;

	}



	location /doc {

		root   /usr/share;

		autoindex on;

		allow 127.0.0.1;

		deny all;

	}



	location /images {

		root   /usr/share;

		autoindex on;

	}



	error_page  404  /404.html;

	location = /404.html {

		root	/var/www/nginx-default;

	}



	# redirect server error pages to the static page /50x.html

	#

	error_page   500 502 503 504  /50x.html;

	location = /50x.html {

		root   /var/www/nginx-default;

	}



	# proxy the PHP scripts to Apache listening on 127.0.0.1:80

	#

	#location ~ \.php$ {

		#proxy_pass   http://127.0.0.1;

	#}



	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

	#

	location ~ \.php$ {

		fastcgi_pass   127.0.0.1:9000;

		fastcgi_index  index.php;

		#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

		include fastcgi_params;#####注意这里原先少一个空格!!!

	}



	# deny access to .htaccess files, if Apache's document root

	# concurs with nginx's one

	#

	#location ~ /\.ht {

		#deny  all;

	#}

}

 

 

有的地方写的有点重复罗嗦,不过能用。nginx上的参考文档地址:http://wiki.nginx.org/NginxFullExample

启动spawn-fcgi:

sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid


应该不会出现不能bind的情况。如果真的出现了,可以找进程杀掉或者换端口。
我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。

重新载入nginx:

sudo /etc/init.d/nginx reload


修改nginx配置文件之后一定要reload才会生效。当然也可以restart。此处如果提示配置文件不能通过,就去那个文件仔细查看找错误。我遇到过一次,然后发现default文件中少一个空格。

安装PHP和MySQL:

sudo apt-get install mysql-server mysql-client

中间会提示输入Root用户密码,不要弄太简单。
启动MySQ

Lsudo /etc/init.d/mysql start


我不会sql,就没有用mysql的命令行进行设置,而是使用了phpmyadmin在浏览器页面设置。

安装WordPress:
这是最轻松愉快的,五分钟之内搞定。需要做的是建立一个用户和一个数据库,然后直接访问wordpress文件夹,跟着它说的走。

 

 

本文系S.Sn.Giraffe原创,版权归S.Sn.Giraffe及Linux中国所有,转贴请注明。

刚表态过的朋友 (0 人)

发表评论 评论 (9 个评论)

回复 zxming 2010-12-12 01:40
这个不错
回复 S.Sn.Giraffe 2010-12-12 11:59
zxming: 这个不错
其实我开始弄的时候啥都不懂,竟然也能摸索成功。
回复 zxming 2010-12-12 12:12
S.Sn.Giraffe: 其实我开始弄的时候啥都不懂,竟然也能摸索成功。
lnmp还没弄过。。之前都只是玩玩lamp。。ngix一直还没接触来着
回复 S.Sn.Giraffe 2010-12-12 12:19
zxming: lnmp还没弄过。。之前都只是玩玩lamp。。ngix一直还没接触来着
嗯,nginx既可以当完整的服务器,也可以当apache前端,你可以试试。
回复 虹蜂鸟 2010-12-21 15:12
没有人出一键安装包之类的?
回复 S.Sn.Giraffe 2010-12-21 16:34
虹蜂鸟: 没有人出一键安装包之类的?
一键安装包不知道怎么搞的在我的Ubuntu上没有成功.

个人感觉使用软件源安装更好.
回复 linux520 2011-1-8 19:23
有安装程序就好了。
回复 S.Sn.Giraffe 2011-1-8 20:32
linux520: 有安装程序就好了。
有啊。都标出来了,用apt装啊。这样升级方便。
回复 linux520 2011-1-10 22:39
S.Sn.Giraffe: 有啊。都标出来了,用apt装啊。这样升级方便。
哦,那太好了 谢谢

facelist

你需要登录后才可以评论 登录 | 加入

无觅相关文章插件