linux成长路[4.2]——搭建WordPress(Nginx)

前言

本文基于nginx搭建WordPress,若使用apache请移步《linux成长路[4.1]——搭建WordPress(Apache)》

依赖环境

  • Nginx
  • PHP
  • vsftpd
  • Mysql

步骤

  1. 需安装php5 、php5-mysql和 php5-fpm(安装后无需额外配置)
    apt-get install php5 php5-mysql php5-fpm

  2. 安装Nginx
    apt-get install nginx

  3. 修改/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;
       }     
    

    }

  4. 重启nginx和php-fpm
    service nginx restart
    service php5-fpm restart

  5. 安装mysql并创建数据库、数据库用户
    参考《》

  6. 搭建ftp服务并创建ftp用户
    参考《》

  7. wget下载WordPress官网压缩包
    tar -xvf 解压文件
    把解压后的wordpress下的文件移动到/var/www/htmlxia
    mv wordpress/* /var/www/html

  8. 页面访问http://ipaddress/html/index.php,然后按页面提示安装即可

注:
若配置后访问域名页面空白页,解决办法如下:
由于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

常见问题

《linux成长路[4.3]——搭建WordPress常见问题》

发表评论