在Fedora 12上安装带有PHP5和MySQL的Nginx
Nginx (发音为“引擎x”)是一个免费的,开放源码的高性能HTTP服务器。 Nginx以其稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。 本教程将介绍如何在支持PHP5(通过FastCGI)和MySQL支持的Fedora 12服务器上安装Nginx。
我不会保证这将为您工作!
1初步说明
在本教程中,我使用IP地址为192.168.0.100
的hostname server1.example.com
。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。
2安装MySQL 5
首先我们像这样安装MySQL 5:
yum install mysql mysql-server
然后,我们为MySQL创建系统启动链接(以便每当系统启动时,MySQL自动启动)并启动MySQL服务器:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start
现在检查网络是否启用。 跑
netstat -tap | grep mysql
应该显示如下:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1376/mysqld
[root@server1 ~]#
如果没有,编辑/etc/my.cnf
并注释掉选项skip-networking
:
vi /etc/my.cnf
[...] #skip-networking [...] |
并重新启动MySQL服务器:
/etc/init.d/mysqld restart
跑
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
为用户root
设置密码(否则任何人都可以访问您的MySQL数据库!)。
3安装Nginx
Nginx可用作Fedora 12的一个包,我们可以安装如下:
yum install nginx
然后我们为nginx创建系统启动链接并启动它:
chkconfig --levels 235 nginx on
/etc/init.d/nginx start
在浏览器中输入您的Web服务器的IP地址或主机名(例如http://192.168.0.100
),您应该看到nginx的欢迎页面:
4安装PHP5
我们可以通过FastCGI使PHP5在nginx中工作。 Fedora没有独立的FastCGI守护程序包,因此我们使用lighttpd( lighttpd-fastcgi
)的FastCGI软件包,并将其与php-cli
和一些PHP5模块(如php-mysql
)一起安装,如果要从PHP中使用MySQL脚本:
yum install lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
然后打开/etc/php.ini
并在文件末尾添加行cgi.fix_pathinfo = 1
:
vi /etc/php.ini
[...] cgi.fix_pathinfo = 1 |
lighttpd-fastcgi
软件包附带可执行文件/ usr / bin / spawn-fcgi
,我们可以使用它来启动FastCGI进程。 看一眼
spawn-fcgi --help
了解更多信息。
要启动PHP FastCGI守护进程监听本地主机上的端口9000
,并以用户和组nginx
的身份运行,我们运行以下命令:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid
当然,您不需要在引导系统时手动输入该命令,因此要让系统在引导时自动执行命令,请打开/etc/rc.local
...
vi /etc/rc.local
...并在文件末尾添加命令:
[...] /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u nginx -g nginx -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid |