在CentOS5 下的nginx+php+mysql的解决方案有多个,本文介绍其中的解决方案之一。
本文基于64位的CentOS 5 ,如果是32位的,请在相应部分做修改。
本解决方案使用瑞豪开源自己编译的最新稳定版本的Nginx,fastcgi进程管理使用spawn-fcgi,还有CentOS 5自带的5.0.45版本的MySQL和5.1.6版本的php。
优缺点
本方案的优点是使用CentOS5自带的php和mysql,扩展性好,php的各种扩展yum库里面都有,都可以直接使用;另外,由于使用系统自带的php和mysql,安全性要好一些,如果有什么漏洞都可以直接升级为centos官方的最新版本。由于使用spawn-fcgi,所以无须重新编译php。
本方案的缺点有:
php和mysql都是centos自带的版本,不是最新版本,万一用到php最新版本的某些特性则就不行了。
安装Nginx
到 http://rashost.com/download 下载nginx-0.7.61-1.x86_64.rpm
#rpm -ivh nginx-0.7.61-1.x86_64.rpm
service nginx start
ntsysv nginx on
rpm -ql nginx
上面的rpm -ql nginx命令是看看nginx的文件都安装在哪些目录下面了,可以看到nginx的缺省网页目录应该是/usr/share/nginx/html/
通过浏览器访问,应该能看到nginx的缺省网页了,说明nginx正常工作了!
安装MySQL
#yum -y install mysql-server
##ntsysv
选中mysql
#service mysql start
或者 /etc/init.d/mysqld start
改密码
/usr/bin/mysqladmin -u root password '123456'
安装PHP
yum install -y php-cgi php-mysql
安装spawn-fcgi
到http://rashost.com/download 下载 spawn-fcgi-1.6.2-1.32.x86_64.rpm
rpm -ivh spawn-fcgi-1.6.2-1.32.x86_64.rpm
然后在/etc/rc.local里面加入spawn-fcgi的启动命令:
#spawn-fcgi -C 10 -a 127.0.0.1 -p 9000 -u nginx -d /tmp -f php-cgi
其中的-C 10参数是指启动的php fastcgi的进程数目,这个数值可以根据网站的访问量和内存大小修改。
然后先手工启动一下php:
spawn-fcgi -C 10 -a 127.0.0.1 -p 9000 -u nginx -d /tmp -f php-cgi
整合
首先在/usr/share/nginx/html目录下创建文件test.php,其内容很简单,只要下面一行:
通过浏览器访问http://192.168.1.5/test.php是得不到正确的显示结果的。
修改nginx的配置文件/etc/nginx/nginx.conf,在文件内搜索fastcgi_pass,修改该部分内容为:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
然后重启nginx:
/etc/init.d/nginx/restart
然后在浏览器中访问test.php页面,就应该能正确显示了,reboot 测试一下,各个模块应该都能自带启动。
来源:http://rashost.com/blog/centos5-vps-nginx-solution1
本文基于64位的CentOS 5 ,如果是32位的,请在相应部分做修改。
本解决方案使用瑞豪开源自己编译的最新稳定版本的Nginx,fastcgi进程管理使用spawn-fcgi,还有CentOS 5自带的5.0.45版本的MySQL和5.1.6版本的php。
优缺点
本方案的优点是使用CentOS5自带的php和mysql,扩展性好,php的各种扩展yum库里面都有,都可以直接使用;另外,由于使用系统自带的php和mysql,安全性要好一些,如果有什么漏洞都可以直接升级为centos官方的最新版本。由于使用spawn-fcgi,所以无须重新编译php。
本方案的缺点有:
php和mysql都是centos自带的版本,不是最新版本,万一用到php最新版本的某些特性则就不行了。
安装Nginx
到 http://rashost.com/download 下载nginx-0.7.61-1.x86_64.rpm
#rpm -ivh nginx-0.7.61-1.x86_64.rpm
service nginx start
ntsysv nginx on
rpm -ql nginx
上面的rpm -ql nginx命令是看看nginx的文件都安装在哪些目录下面了,可以看到nginx的缺省网页目录应该是/usr/share/nginx/html/
通过浏览器访问,应该能看到nginx的缺省网页了,说明nginx正常工作了!
安装MySQL
#yum -y install mysql-server
##ntsysv
选中mysql
#service mysql start
或者 /etc/init.d/mysqld start
改密码
/usr/bin/mysqladmin -u root password '123456'
安装PHP
yum install -y php-cgi php-mysql
安装spawn-fcgi
到http://rashost.com/download 下载 spawn-fcgi-1.6.2-1.32.x86_64.rpm
rpm -ivh spawn-fcgi-1.6.2-1.32.x86_64.rpm
然后在/etc/rc.local里面加入spawn-fcgi的启动命令:
#spawn-fcgi -C 10 -a 127.0.0.1 -p 9000 -u nginx -d /tmp -f php-cgi
其中的-C 10参数是指启动的php fastcgi的进程数目,这个数值可以根据网站的访问量和内存大小修改。
然后先手工启动一下php:
spawn-fcgi -C 10 -a 127.0.0.1 -p 9000 -u nginx -d /tmp -f php-cgi
整合
首先在/usr/share/nginx/html目录下创建文件test.php,其内容很简单,只要下面一行:
通过浏览器访问http://192.168.1.5/test.php是得不到正确的显示结果的。
修改nginx的配置文件/etc/nginx/nginx.conf,在文件内搜索fastcgi_pass,修改该部分内容为:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
然后重启nginx:
/etc/init.d/nginx/restart
然后在浏览器中访问test.php页面,就应该能正确显示了,reboot 测试一下,各个模块应该都能自带启动。
来源:http://rashost.com/blog/centos5-vps-nginx-solution1
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2352/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表