ubuntu nginx wordpress

后来才发现这篇文章 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里面把链接都改掉呢?

  • 如果觉得长长的目录不好看,可以选用默认格式

    这样看上去好看点。。不会太长了。

  • 参照下面的方法

  • 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安装之后的文件结构大致为:

    • 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
    • 程序文件在/usr/sbin/nginx
    • 日志放在了/var/log/nginx中
    • 并已经在/etc/init.d/下创建了启动脚本nginx
    • 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

    系统还原,从头再来。。

    先用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 中了。














    

    

    

    

    

    

    

    

    

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值