nginx+php+mysql+spawn-fcgi with archlinux
安装 wordpress,其实,已经成功安装n多回了.这次是练下手.
#pacman -Sy nginx php php-cgi mysql
配置才是重点
- 配置nginx
编辑文件/etc/nginx/conf/nginx.conf,添加index.php在index index.html index.htm后面.
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm index.php; }
去掉注释 如下.
如果不是用php-fpm,则如下.
如果使用php-fpm,则去掉注释#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 注释掉fastcgi_pass 127.0.0.1:9000;
location ~ \.php$ { root /srv/http/nginx; # 本來是html的就是 /etc/nginx/html,我把它給改了 #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
配置php (/etc/php/php.ini)
去掉行;extension=mysql.so的注释即去掉;
注意open_basedir那一行.添加html的root目录,如/srv/http(跟前面的nginx设置中location ~ \.php$的 root部分保持一致)
似乎差不多了.
html目录是/etc/nginx/html,不过它是个链接,指向/usr/share/nginx/http
可以修改它.
其它的没什么了.
启动
#rc.d start nginx mysqld #spawn-fcgi -a 127.0.0.1 -p 9000 -C 9 -f /usr/bin/php-cgi
后一命令可以使用下面任意一个替代
cgi-fcgi -start -connect 127.0.0.1:9000 /usr/bin/php-cgi或者rc.d start php-fpm (前提是你安装了它)
测试中,php-fpm响应要比另外两个慢.
也許會遇到 No input file specified.
修改/etc/nginx/conf/nginx.conf把上面的句子修改成下面的樣子
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;