centos lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress 安装phpmyadmin 定时备份mysql两种方法 第二十五节课

centos  lamp/lnmp阶段复习 以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可 安装wordpress  安装phpmyadmin  定时备份mysql两种方法  第二十五节课

 

wordpress下载地址:https://cn.wordpress.org/

架构:nginx代理 +LAMP

修改Windows的hosts文件

apache的所有虚拟主机端口都是88,根据servername来区分访问哪个虚拟主机

 

上半节课

两台机,一台安装mysql
以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可
安装wordpress

 

 

下半节课

安装phpmyadmin
nginx启动80端口,用来跑静态对象(图片、js、css),apache监听88端口
定时备份mysql两种方法
示例配置文件

 

 

 

两台机,一台安装mysql

tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz    //下载免编译安装包
mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql 
useradd -s /sbin/nologin mysql    //新建mysql用户
cd /usr/local/mysql 
mkdir -p /data/mysql   //新建数据库数据目录
chown -R mysql:mysql /data/mysql  //更改数据目录的属主属组
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql    //初始化
cp support-files/my-large.cnf /etc/my.cnf     //拷贝配置文件
vi /etc/my.cnf  //修改配置文件
cp support-files/mysql.server /etc/init.d/mysqld  //拷贝启动脚本
vi !$   //修改启动脚本  basedir=/usr/local/mysql ,datadir=/data/mysql
chmod 755 /etc/init.d/mysqld    //更改启动脚本权限
vim /etc/init.d/mysqld   #修改datadir
chkconfig --add mysqld 
chkconfig mysqld on    //加入到系统服务列表并设置启动级别
service mysqld start   //启动mysql
ps -aux|grep mysql   //是否有mysql进程
netstat -lnp|grep 3306
grant all on *.* to 'lyhabc'@'192.168.1.106' identified by '123456';
iptables -F  //关防火墙
service iptables save
getenforce  //selinux
iptables -nvL


chkconfig mysqld off
chkconfig php-fpm off
chkconfig nginx off

 


以后搬迁discuz论坛不需要重新安装,只需修改配置文件即可

discuz二次安装

1、将原来整个程序目录拷贝到新的地方

2、打开目录,修改 config目录下面的文件

cd  /data/bbs/config

 3、先修改config_ucenter.php

 

 

4、修改config_global.php

cd  /data/bbs/config

 

 

5、修改config.inc.php

cd  /data/bbs/uc_server/data/

 

6、返回浏览器 域名bbs.abc.com

7、拷贝数据库

rsync -av /data/mysql/aming/ 19.168.1.100@root:/data/mysql/aming/

 

8、将下面三个目录属主改为httpd属主daemon

chown -R daemon /data/bbs/data/
chown -R daemon /data/bbs/uc_server/data/bbs/data/
chown -R daemon /data/bbs/uc_client/data

 

9、登录到discuz后台控制面板-》工具-》更新缓存 刷新 一下缓存


 

安装wordpress

 

wordpress的主题资源在墙外,所以设置主题的时候会加载不出来

 

wordpress由于引用了google字体和其他国外插件,所以有时候会比较慢

1、解压wordpress压缩包到/data/blog 目录下

2、配置好apache的vhosts文件

3、在浏览器输入 blog.abc.com  开始安装

4、自己手动新建数据库

 

 

5、自己创建wp-config.php文件

 

6、继续下一步 输入相关信息

7、根据apache的vhosts文件,浏览器输入blog.abc.com 访问

 

8、wordpress的后台

/data/blog/wp-admin/

 


 

安装phpmyadmin

1、解压phpmyadmin压缩包到/data/pma 目录下

2、配置好apache的vhosts文件

3、在浏览器输入 pma.abc.com/setup  开始安装

zip_open函数不用理他

4、新建服务器

 

5、设置

服务器名称

主机名

端口

连接方式一定是tcp

 

6、认证

 

 

如果界面安装失效有两个办法解决

1、创建一个config目录

cd /data/pma
mkdir config
chmod 777 !$

2、创建一个config.inc.php文件,然后修改配置

cd /data/pma
cp libraries/config.default.php    config.inc.php
vi config.inc.php

 

 


 

nginx启动80端口,用来跑静态对象(图片、js、css),apache监听88端口

修改apache监听端口

 

vi /usr/local/apache2/conf/httpd.conf
Listen 88
vi /usr/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:88
:1,s/:80/:88/g //批量改配置文件 80端口改为88
/usr/local/apache2/bin/apachectl -t
/usr/local/apache2/bin/apachectl restart
netstat -lnp |grep httpd

/usr/local/nginx/conf/vhosts/

 


定时备份mysql两种方法
第一种:在线备份 mysqldump
/user/local/mysql/bin/mysqldump -uroot blog >/home/aming.sql
rsync -av /home/*.sql 192.168.1.2:/data/mysqlbak/

第二种:停服务备份
/etc/init.d/mysqld stop ;rsync -av /data/mysql/

使用crontab

 

rsync 使用daemon模式

 

 


1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache(88端口)+ php 和nginx (80端口)
2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片、js、css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问
3. mysql服务器需要开启慢查询日志
4. 搭建discuz、wordpress以及phpmyadmin,域名分别为bbs.abc.com, blog.abc.com, pma.abc.com
5. 配置discuz的伪静态(nginx)
6. apache不需要记录日志,nginx记录日志,但不记录图片等静态页的日志,并且配置日志切割
7. 配置图片防盗链 referer(nginx)
8. 配置图片缓存7天,js,css缓存1天(nginx)
9. discuz和wordpress访问后台限制一下ip白名单,比如只允许192.168.1.100访问(nginx)
10. phpmyadmin整个站点需要配置用户认证(nginx)
11. 写一个mysql备份的脚本,每天5点执行,需要远程拷贝到web机器上
12. 把除了百度、google外的其他常见搜索引擎蜘蛛封掉,比如(bingbot/2.0、Sogou web spider/4.0、360Spider、YisouSpider、YandexBot/3.0)(nginx)
参考配置:

apache的vhosts

/usr/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:88

<VirtualHost *:88>
    DocumentRoot "/tmp/tmp"
    ServerName tmp.com
    php_admin_value open_basedir "/tmp/tmp"
<Directory /tmp/tmp/>
      Order allow,deny
      Deny from all
</Directory>
</VirtualHost>

<VirtualHost *:88>
    DocumentRoot "/data/bbs"
    ServerName bbs.abc.com
</VirtualHost>

<VirtualHost *:88>
    DocumentRoot "/data/blog"
    ServerName blog.abc.com
</VirtualHost>

<VirtualHost *:88>
    DocumentRoot "/data/pma"
    ServerName pma.abc.com
</VirtualHost>

nginx(动静分离 php文件  资源文件)

1. bbs.conf
server
{
    listen 80;
    server_name bbs.abc.com;
    index index.html index.htm index.php;
    root /data/bbs;  //一定要写root 因为nginx要读静态文件

#根据user_agent控制
    if ($http_user_agent ~ 'bingbot/2.0|MJ12bot/v1.4.2|Spider/3.0|YoudaoBot|Tomato|Gecko/20100315'){
            return 403;
    }
    location ~ admin.php {
        allow 192.168.31.141;
        deny all;
        proxy_pass   http://127.0.0.1:88;
        proxy_set_header Host   $host;
    }

    location ~ \.php$ {   //动态php文件代理后端
         proxy_pass   http://127.0.0.1:88;
         proxy_set_header Host   $host;
         proxy_set_header X-Real-IP      $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }


    location ~ .*\.(js|css)?$
    {
          expires      24h;
          access_log off;
    }

    location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
         expires 7d;
         valid_referers none blocked server_names *.abc.com *.a.com *.b.com *.baidu.com\
         *.google.com *.google.cn *.soso.com ;
         if ($invalid_referer) {
              return 403;
              #rewrite ^/ http://www.example.com/nophoto.gif;
         }
         access_log off;
    }

    rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
        rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
        rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
        rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
        rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
        rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;


    access_log /home/logs/discuz.log combined_realip;
}

2. blog.conf   (参考  http://www.upupw.net/nginxhelp/n33.html)
server
{
    listen 80;
    server_name blog.abc.com;
    index index.html index.htm index.php;
    root /data/blog;
    location /wp-admin/ {
        allow 127.0.0.1;
        deny all;
        location ~ \.php$ {
        proxy_pass   http://127.0.0.1:88;
        proxy_set_header Host   $host;
        }
    }

    location  / {
         proxy_pass   http://127.0.0.1:88/;
         proxy_set_header Host   $host;
         proxy_set_header X-Real-IP      $remote_addr;     #Client  -- LB -- 上游服务 这种架构 ,那么就得取 RemoteIp 获取客户端真实IP
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   #RemoteIp也是真实ip,是LB防止 x_forwarded_for 伪造
    }

}


3. pma.conf
server
{
    listen 80;
    server_name pma.abc.com;
    index index.html index.htm index.php;
    root /data/pma;

    location / {
         auth_basic              "Auth";
         auth_basic_user_file   /usr/local/nginx/conf/htpasswd;

    location ~ \.php$ {
         proxy_pass   http://127.0.0.1:88;
         proxy_set_header Host   $host;
         proxy_set_header X-Real-IP      $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    }
}

phpmyadmin 安装 http://www.aminglinux.com/bbs/thread-6509-1-1.html

 


 

老师线上配置文件目录 


 

最后老师wordpress没有搭建成功

http://java-zone.org/950.html

curl的时候遇到X-Pingback

WordPress博客系统中X-Pingback到底是什么?
Posted on 2012 年 11 月 2 日 Leave a Comment
很多使用WordPress建立个人博客的站长朋友可能会发现,WordPress博客程序中的<head>标签中有一句这样的代码<link rel=”pingback” href=”http://www.java-zone.org/xmlrpc.php” />,大家知道它到底是干嘛的吗?他对SEO到底有什么作用呢?

在论坛上面看到也有站长朋友提出一些问题,譬如:“头部信息里面很多都是多余的,删除对WordPress有影响吗?”。

个人认为有的代码不是很懂,但是既然人家写了应该没有什么坏处吧?有些是订阅必须的比如RSS,看来还是别删为妙,除非你非常了解。

下面我跟大家介绍一下Java地带所了解的Pingback(X-Pingback):

Pingback是网志中常用的用来通知网志系统文章被引用情况的一种手段。”PingBack”的中文正确翻译为“广播”,是指计算机系统向外部发出引用信息,但不要与日常生活中的广播混淆。

当其他人连结至Web作者的网页时,Web作者获取通知的方法。这个方法使得Web作者可以追踪什么人连结至他的文章。有一些网志软件,如WordPress,具有当一篇文章出版的时候,自动pingback这篇文章中所有的连结的功能。
造字:ping-back:ping的回溯。

Ping网络上用来测试其他电脑是否存在的工具,取名字是声纳系统的声音。

Alice写了一篇文章A,Bob看了以后写了一篇文章B评论A,文章B中有一个LinkA 指向A。(一般来说,B有连结至A,A并不知情)如何让A自动知道有人连结到他?可以靠Bob寄信给Alice,或是B所在的服务器ServerB的程式,自动剖析B上面的连结LinkA,自动通知LinkA所指的A所在的服务器ServerA,ServerA 自动在A的后面的引用清单加上B。

 

 

 

f

posted @ 2015-11-30 23:08  huangchaolilli  阅读(320)  评论(0编辑  收藏  举报