由于公司要搞blog,昨天晚上搞了一个晚上才在服务器上搭建好一个blog环境,真是汗颜啊,主要是自己对php的部署不熟悉,记录一下.
用到的软件:
- Nginx 0.8.34
- wordpress 2.9.2
- mysql 5
- php 5.3.2
- 就这么多...
Nginx和PHP都是自己编译的,这个也没有什么好说的了.
wordpress的安装可以考虑官方的wiki,写得很详细了 http://codex.wordpress.org.cn/WordPress的安装过程
PHP编译的时候要注意一下,必须得把 --with-mysql=/xx/oo 这个选项加上(/xx/oo就是你的mysql安装所在的目录),我安装的时候就是没加上这个,害得编译了两次.
另外要注意的就是Nginx的配置了,我贴一下配置,也不知道对不对的,反正现在能运行
server { listen 80; server_name blog.xx.com; access_log /home/xx.com/logs/wordpress.log; location / { root /home/xx.com/wordpress; #index index.html index.htm; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } location ~ \.php$ { #location / { root /home/xx.com/wordpress; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /home/xx.com/wordpress; } }
参考的是这个文章: http://www.6heathy.com/archives/34.html 和 http://shiningray.cn/linux-shang-pei-zhi-nginx-php5-fastcgi.html
不过我没有使用
spawn-fcgi 我直接就用 php-cgi 的方式运行,貌似也没有什么问题.等真的流量上去了,再修改也不迟.
启动php的时候犯了一点小错误,就是使用了 & 后台运行程序,但是终端退出的时候,php的进程还是 shutdown了,这个可以参考这篇blog http://hlee.iteye.com/blog/587488 完美地解决了问题.
========================================= 华丽的分割线 ========================================
用
php-cgi 的方式还是不行,经常会出现经典的 502 Bad Gateway 错误,所以有时候是不能省功夫的,还是搞了一个lighttpd-spawn-fcgi.
最新版本的lighttpd 1.4.26 编译后,在 src 文件夹下找不到 spawn-fcgi 文件,但是 1.4.18则可以,所以我用的是 1.4.18
#以下代码来自: http://shiningray.cn/linux-shang-pei-zhi-nginx-php5-fastcgi.html wget http://www.lighttpd.net/download/lighttpd-1.4.18.tar.bz2 #获取Lighttpd的源码包 tar -xvjf lighttpd-1.4.18.tar.bz2 cd lighttpd-1.4.18 ./configure #编译 make cp src/spawn-fcgi /usr/local/bin/spawn-fcgi #取出spawn-fcgi的程序 下面我们就可以使用 spawn-fcgi 来控制php-cgi的FastCGI进程了 /usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi
再看看,应该不会再无端地死进程了吧.