主题: 在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”