主题: 在iredmail服务器上搭建wordpress的经验

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.6
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):Mysql
- 使用的 Linux/BSD 发行版名称及版本号:Ubuntu 14.04
- 与您的问题相关的日志信息:
====

主要参考这两个文章:
https://www.darrenfang.com/2014/02/inst … on-ubuntu/
http://www.jb51.net/article/27533.htm
以及https://www.qcloud.com/document/product/213/8044文末的视频

主要用到了Vhost,也就是通过修改/etc/nginx/conf.d/00-default.conf来实现80端口的复用,如下:

#80这部分只需要修改server_name
server {
    listen 80;
    server_name mail.example.org.cn;
}
# 这部分完全不变
server {
    listen 443;
    ...
}
#新加入的Wordpress部分,特别注意!!!fastcgi_pass这里的写法。另外这里我是把wordpress装在了/opt/www底下
server {
        listen  80;
    root /opt/www/wordpress;
    index index.php index.html index.htm;
    server_name www.example.org.cn example.org.cn;
    location / {
            try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
          root /usr/share/nginx/html;
    }
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
            try_files $uri =404;
            #fastcgi_pass 127.0.0.1:9000;
            #下面这个非常重要!这个值需要去/etc/php5/fpm/pool.d/www.conf的listen=后面找
            fastcgi_pass  unix:/var/run/php-fpm.socket;
            fastcgi_index index.php;
            include fastcgi_params;
     }
}

可能遇到的坑:
1)配置Mysql时,如果经常出现"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)"的问题的话,建议在创建数据库,以及设置wp-config.php的时候,把localhost都替换成127.0.0.1
2)“connect() to unix:/var/run/php5-fpm.sock failed”
关于fastcgi_pass的设置问题,必须去/etc/php5/fpm/pool.d/www.conf这里文件里找listen=后面写的是什么,比如我的就跟官方推荐的不同,是“unix:/var/run/php-fpm.socket”

回复: 在iredmail服务器上搭建wordpress的经验

谢谢分享。

回复: 在iredmail服务器上搭建wordpress的经验

这个我测试过,没成功过,好像是token 有问题.