ubuntu11.04安装nginx+php+mysql

郁权
2023-12-01

先列参考内容,后面我再补充点东西:

http://www.4wei.cn/archives/1001436

http://www.gidot.net/blog/article.asp?id=322

上面2个教程大概都差不多。

无非按顺序安装nginx,php5,php5-fpm,MySQL Server。

我补充几点:

1、nginx安装就不说什么了。

2、关于php5安装,我说两点:

         2.1:在上面的教程里,在php5安装指令里面,很多人装了很多扩展,我估计是那个教程的源作者是他的具体应用环境下安装指令,你不必装那么多,比如有了后面的php5-fpm,就不用装PHP-cgi了,把php5、pear主要的包装了就行,其他的根据自己的应用需要再裁剪吧。

         2.2:如果在新立得里,它会依赖安装apache2,当然如果前面你启动nginx后,没有关闭它,apache2是无法启动的,否则的话,apache2在安装完后会自动启动,所以在此之后,如果你要启动 nginx的话,提示:地址端口无法绑定,当然你可以用下面的netstat指令:

sudo netstat -tlnp

看看到底是那个程序占了www服务80端口,然后用前面stop nginx的方法关闭apache2即可,关于apache2,还有一个问题,它和nginx都会注册为开机启动服务,不过nginx的start 优先级比apache2的高,所以开机以后,nginx先占用了端口,apache2启动不了,可按以下指令参看如下:

username@hostname:~$ ls -l /etc/rc?.d/*apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc0.d/K09apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc1.d/K09apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc2.d/S91apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc3.d/S91apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc4.d/S91apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc5.d/S91apache2 -> ../init.d/apache2  
lrwxrwxrwx 1 root root 17 2011-10-12 16:07 /etc/rc6.d/K09apache2 -> ../init.d/apache2  
username@hostname:~$ ls -l /etc/rc?.d/*nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc0.d/K20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc1.d/K20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc2.d/S20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc3.d/S20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc4.d/S20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc5.d/S20nginx -> ../init.d/nginx  
lrwxrwxrwx 1 root root 15 2011-10-12 15:23 /etc/rc6.d/K20nginx -> ../init.d/nginx

如果你愿意原因,你可以把apache2开机启动取消了:

user@host:~$ sudo update-rc.d -f apache2 remove  
 Removing any system startup links for /etc/init.d/apache2 ...  
   /etc/rc0.d/K09apache2  
   /etc/rc1.d/K09apache2  
   /etc/rc2.d/S91apache2  
   /etc/rc3.d/S91apache2  
   /etc/rc4.d/S91apache2  
   /etc/rc5.d/S91apache2  
   /etc/rc6.d/K09apache2

如果你的机器是开发的用的机器,这些服务仅仅是为了测试程序用,不准备长时间运行,你可以用以上指令把nginx、php5-fpm的开机启动都取消了。不过mysql服务估计不能这样取消,因为用前面的ls指令看不到mysql link,不过有blog说用rcconf工具

3、关于php5-fpm的选择,可以参看:http://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/

4、你在phpinfo页面也许会看到如下信息:

_SERVER["USER"]www-data
_SERVER["HOME"]/var/www

那个/var/www是apache2的发布目录,但在此处仅是指启动nginx的专指用户是www-data,而这个用户的主目录是/var/www,和发布目录没有关系,真正的发布目录还是:

_SERVER["DOCUMENT_ROOT"]/usr/share/nginx/www

参考文章:

http://www.debuntu.org/how-to-manage-services-with-update-rc.d

http://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/

 类似资料: