nginx+php+mysql+spawn-fcgi with archlinux

danny posted @ 2011年12月11日 12:09 in shell with tags ArchLinux nginx , 3586 阅读

 安装 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;

 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter