后来才发现这篇文章 http://premium.wpmudev.org/blog/wordpress-multisite-wordpress-nginx/ 强烈建议阅读
2014-1-14
wordpress 基本搞定了。安装最方面就用easyengine。可以查看easyengine官网的说明。
可惜是英文版的。用中文版的代码覆盖了以后还是英文版的。选择了语言以后,虽然是中文的。新建站点默认英文。
如果主机是在反向代理后,要禁止gzip,应该不禁止也能实现。在wordpress主机上做好解析就行了。不过暂时没做到。
wp里面有几个地方使用的是相对路径。反向代理服务器上的rewrite规则就没办法了。所以还是在wp主机上做好rewrite比较好,不会啊。。
用ee安装还有一个问题。因为是默认是英文的,新建一个子博客,还是默认英文的。。
要么整个网站都用相对路径,要么都不要用啊。。
其实,我的问题是如何在反向代理服务器后面假设wp服务器。可以通过iis的服务器场来实现。
edX太难搞。先来玩下wordpress
2014-01-10
add-apt-repository 添加最新版
安装nginx
ubuntu1204默认的是nginx1.1.和nginx上的文档资料对不上了。
所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
程序文件在/usr/sbin/nginx 日志放在了/var/log/nginx中 并已经在/etc/init.d/下创建了启动脚本nginx 默认的虚拟主机的目录设置在了/usr/share/nginx/html启动
/etc/init.d/nginx start
浏览器里测试nginx已经开始运行了
安装mysql-server
建立数据库wordpress
php5用新版的
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
安装下列包
sudo apt-get install php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php5-dev php5-mcrypt
在ngin里配置了这么一段
gzip on;
gzip_disable "msie6";
upstream php5-fpm { //upstream命令还不是很懂。
keepalive 8;
server unix:/var/run/php5-fpm.sock;
}
# include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
教程中后面还有很多设置。
直接先安装wordpress算了
下载好后,复制到/var/www/wordpress目录下,
在sites-available下建立一个配置文件wordpress
在sites-enabled下建立一个软链接
刷新浏览器没变化。。只有欢迎页面可以打开。
配置文件里对/的解析改下
重启。。无效。。
用nginx -s reload 重启 错误,/run/nginx.pid not found
nginx -s reload is only used to tell a running nginx process to reload its config. After a stop, you don't have a running nginx process to send a signal to. Just run nginx (possibly with a -c /path/to/config/file)
于是我用了这方法,也就是nginx -c /path/to/config/file) //在我机器上是这样的/alidata/server/nginx/sbin/nginx -c /alidata/server/nginx/conf/nginx.conf
也可以用/etc/init.d/nginx start先启动
教程中看到可以用touch /var/www/wordpress/nginx.conf
下面这条语句把对应目录的权限给www-data用户
chown -R www-data:www-data /var/www/wordpress
reload后,可以了,更目录定义到了/var/www/wordpress
启动nginx的状态监控
用nginx -V 不是小v ,查看nginx版本支持stub-status不
如果支持在站点配置文件wordpress里配置
location /nginx_status {
# Turn on nginx stats
stub_status on;
# I do not need logs for stats
access_log off;
# Security: Only allow access from 192.168.1.100 IP #
allow 192.168.1.100;
# Send rest of the world to /dev/null #
deny all;
}
好了,开始正事,打开localhost/reame.html
安装提示,运行http://10.184.31.11/wp-admin/install.php
提示php没安装。
在配置文件中把对应php的几行注释去掉。如下
split path info 那一行。。
include fastcgi_params;
fastcgi_index index.php;
fastcgi_pass php5-fpm;
reload 可以了
先建立wordpress的个人站点
然后修改wp-config.php,参考本文章后面的内容。。
然后就ok了
因为域名用了localhost,所以只能在本机正常使用
wordpress 数据库主机用内网地址不能工作。用localhost就可以。
MySQL通过localhost无法连接数据库的解决http://bbs.eyuyan.com/read.php?tid=74184
改了没用,
mysql 改用户密码在用户表user中改,支持md5函数。update table set password=md5('新密码') where .....
改了以后要重启mysql server
不过,用md5也有问题。登陆的时候要输入md5,怎么记得牢。。
只好删除掉mysql 重新安装了。
改密码还是要用专门的语句 SET PASSWORD FOR root=PASSWORD('123456');
昨天有用fcgi配置过。
全部都搞好了,点击文章,发现打不开。应该是.htaccess没有工作。网上有帖子说nginx是支持.htaccess的。在nginx.conf里include这个文件。
不知道能不能在站点配置文件里include。重启nginx。没用。重启电脑试试看。连根目录都访问不了了。。站点不工作了,删除include .htaccess的代码。
reboot
删除后就好了。
仔细看了百度到的教程
在你需要添加伪静态的虚拟机中的server块中引入.htaccess文件
include /usr/www/.htaccess #请把这个改成你.htaccess文件的位置,
原来是要在站点配置文件的server里添加的。无法访问问题是不出现了,可是重写规则还是没有执行。重启,还是出现站点无法访问。
总之加了就不行,不加就可以。
后来把配置文件中的location做如下修改,主目录是可以打开了
location / {
try_files $uri $uri/ /index.php;
}
原来的index.html 改成了index.php;
不过建立的二级站点还是无法访问。
百度到这个帖子
http://down.chinaz.com/try/201108/1004_1.htm 无效。。。搞了半天,改回去,站点也访问不了了。。。
ps 看下,发现nginx根本没启动。。。用service,或者init.d下的命令 启动都没有错误提示,就是启动不了nginx
看了下错误日志,才找到问题多了个}在配置文件里
新站点的首页是可以打开的,不过没有css等内容。应该是要在iis中添加一个出战规则。。
其他的问题,还是rewrite的问题了。
最后,参考这篇文章,把站点配置文件换掉就好了https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/minimal/
可能需要重启电脑。。
server {
##DM - uncomment following line for domain mapping
#listen 80 default_server;
server_name example.com *.example.com ;
##DM - uncomment following line for domain mapping
#server_name_in_redirect off;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
root /var/www/example.com/htdocs;
index index.php;
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/permanent;
rewrite ^(/[^/]+)?(/wp-.*)$2last;
rewrite ^(/[^/]+)?(/.*\.php)$2last;
}
location / {
try_files $uri $uri/ /index.php?$args ;
}
location ~ \.php$ {
try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off; log_not_found off; expires max;
}
location = /robots.txt { access_logoff;log_not_foundoff; }
location ~ /\. { deny all; access_log off;log_not_foundoff; }
}
现在剩下的问题是生成的网页链接都是内部地址。要rewrite
加了出站规则,网站就访问不了。。。是不是可以在wordpress里面把链接都改掉呢?
如果觉得长长的目录不好看,可以选用默认格式
http://10.184.31.11/?p=123 |
这样看上去好看点。。不会太长了。
参照下面的方法
mysql> update wp_optionsset option_value='http://192.168.1.102/wordpress' where
option_name='siteurl';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update wp_options set option_value='http://192.168.1.102/wordpress' where
option_name='home';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
主站点是可以了,其他子站点还不行。
参照这篇文章http://blog.zfqjava.com.cn/archive/193.html
第一步登录phpMyAdmin修改数据库中相关的字段:
第二步修改网站根目录下的wp-config.php文件中的代码,修改为新域名:
这个方法很有效。。。搞定了生成的网页链接都换掉了。。
不过刷新一下,又打不开了。。。reboot
domain_current_site不改的话,可以访问。但提示数据库连接错误
重新来一遍。
把domain_current_site改了
reboot,还是重启比较靠谱
可以访问,再建立一个站点。出错了,管理网络打不开,只要wp-config.php里替换掉。管理网络就变成了替换掉的网址。还内容则是在数据库里换。
然后执行UPDATE wp_optionsSEToption_value=replace(option_value,'http://www.jfok.org','http://www.writeblog.org')WHEREoption_name='home'ORoption_name='siteurl';
同样的更新站点wp_2_options,则网站中就不会出现原来的内网ip了。
还有一个地方,就是自定义哪里还会出现内网ip。
等下换个局域网环境测试下这些问题。
所以其他的语句不更新问题不大。毕竟没发表什么文章呢。
下面是管理网络打不开的问题
grep 10.184.31.11 *.* 文件中没有找到包含有这个字符串的。
数据库中找找
wp_site中有一条记录,改了.
文件中真的没有地方有10.184.31.11,可以我的站点还是显示为10.184.31.11
算了,解决重定向循环问题先。
//2014-1-09
appache的教程比较多。
如这篇
http://xqnssa.blog.163.com/blog/static/1141809172011111154832708/
nginx下安装的教程
http://blog.csdn.net/jiangshide/article/details/7667945
apt-get 了nginx http访问失败 版本是1.1.1
reboot 可以了
官网下载最新是1.5.8.tar.gz 更新下
tar xvfc ngix包, xvfc是tar的几个参数
解压运行configure文件,提示 cc is not found
安装gcc
自己编译太烦。。其实,nginx也提供了编译好的版本的。请参考官网
http://nginx.org/en/linux_packages.html#stable
更新的时候出现错误。不过nginx还是更新成功了。干嘛不直接给个deb的地址啊,安装好麻烦。
用aptitude show nginx 显示是最新版本
下面安装php5
apt-get install php5
nginx网站的默认目录是在nginx.conf里有设置,这个文件可以通过finid / -name ‘文件名'找下
默认配置 root html,是指向,
用网页打开http://localhost/指向的页面和http://localhost/index.html指向的页面不一样。
/usr/share/nginx/www 目录里也没有html
在/etc/nginx/site-enabled/default 文件里倒是有定义 这个文件里定义了root 是/usr/share/nginx/www,location /的时候,加载index.html
但没有指定如何加载html格式的文件,所以nginx默认从/var/www/下去加载。如果把root改成/var/www/就会统一了。
参考下面的说明 这是一篇很好的教程。
参考:http://wiki.ubuntu.org.cn/Nginx#.E5.8F.82.E8.80.83
Ubuntu安装之后的文件结构大致为:
系统还原,从头再来。。
先用ubuntu 1204默认的nginx
默认是1.1的。
默认的根目录是 /usr/share/nginx/www,和各处的说明好像不一样
在sites-available/default里配置文件见删除和php相关的注释
然后重启nginx
运行
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
启动fastcgi php
测试php成功。 上面这条语句要写道
Ubuntu开机之后会执行/etc/rc.local文件中的脚本 所以我们可以直接在/etc/rc.local中添加启动脚本。 spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi 添加到语句:exit 0 前面才行
然后从http://cn.wordpress.org/
下载wordpress
tar -xf 解压
放到
/usr/share/nginx/www
然后再浏览器里打开http://localhost/wordpress就可以进行配置了。
错误
我们可以和数据库服务器建立连接(说明您提供的用户名和密码正确),但无法选择(select)wordpress
数据库。
百度结果 安装WP之前,先要在MYSQL里,手动新建一个wordpress的空数据库,才可以连接上
郁闷的是如何创建数据库呢。。。
mysql -uroot -p 登陆
create database wordpress;,注意这个分号,必须要有认为是一条语句结束,否则不会执行。
然后是向导没有足够的权限。。根据提示做。
然后就好了
wordpress 支持一个博客多人管理
也支持建立多个博客。
为此我们需要在打开wp-config.php并在里面添加上下面一行代码
define ('WP_ALLOW_MULTISITE', true);
然后进入后台 工具 配置网络,根据提示操作
不过nginx访问http://10.184.31.11/wordpress/lg/wp-admin/会跳到nginx欢迎页。
这里lg是建立的新站点的名称http://10.184.31.11/wordpress/lg/wp-admin/
nginx都站点设置,参考http://www.zoneself.org/2012/04/16/content_1761.html
多站点可以参考这篇文章
http://premium.wpmudev.org/blog/wordpress-multisite-wordpress-nginx/
最新的软件包可以通过add-apt-repository获取
具体参见这篇文章
http://www.cnblogs.com/cute/archive/2012/05/21/2511571.html
也许你早已注意到,我们在介绍软件的时候,在安装这块一般都提供 PPA 源安装方式,这是一种快速方便的软件安装方法,但对于一些新手来说,对 PPA 并不是很熟悉,下面我们就详细介绍一下。
# 我们先了解一下 PPA 的定义:
PPA 全称为 Personal Package Archives(个人软件包档案),是 Ubuntu Launchpad 网站提供的一项服务,当然不仅限于 Launchpad 。它允许个人用户上传软件源代码,通过 Launchpad 进行编译并发布为二进制软件包,作为 apt/新立得源供其他用户下载和更新。在Launchpad网站上的每一个用户和团队都可以拥有一个或多个PPA。
通常 PPA 源里的软件是官方源里没有的,或者是最新版本的软件。相对于通过 Deb 包安装来说,使用 PPA 的好处是,一旦软件有更新,通过 sudo apt-get upgrade 这样命令就可以直接升级到新版本。
# 如何通过 PPA 源来安装软件:
通常我们可以通过 Google 来搜索一些常用软件的 PPA 源,通常的搜索方法是软件名称关键字 + PPA ,或者也可直接到 launchpad.net 上去搜索,搜索到后我们就可以直接用 sudo apt-add-repository 命令把 PPA 源添加到 Source list 中了。