前言
本文基于nginx搭建WordPress,若使用apache请移步《linux成长路[4.1]——搭建WordPress(Apache)》
依赖环境
- Nginx
- PHP
- vsftpd
- Mysql
步骤
需安装php5 、php5-mysql和 php5-fpm(安装后无需额外配置)
apt-get install php5 php5-mysql php5-fpm安装Nginx
apt-get install nginx修改/etc/nginx/nginx.conf,添加server
server {
listen 80;server_name blog.leapmie.com; root /var/www/blog.leapmie.com;
index index.php index.html index.htm;
location / { try_files $uri $uri/ /index.php?q=$uri&$args; } location ~ \.php$ { try_files $uri =404; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
重启nginx和php-fpm
service nginx restart
service php5-fpm restart安装mysql并创建数据库、数据库用户
参考《》搭建ftp服务并创建ftp用户
参考《》wget下载WordPress官网压缩包
tar -xvf 解压文件
把解压后的wordpress下的文件移动到/var/www/htmlxia
mv wordpress/* /var/www/html
注:
若配置后访问域名页面空白页,解决办法如下:
由于nginx与PHP-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最后增加两行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
然后重启一下服务:
service php5-fpm reload
service nginx reload