设为首页 收藏本站
查看: 1441|回复: 0

?Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级!

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-12 09:45:02 | 显示全部楼层 |阅读模式
Laml环境安装wordpress外加nginx负载均衡并实现phpmyadmin平滑升级
注意:我这里使用lamp搭建wordpress使用的全部都是rpm安装,如果有想要学习编译安装的朋友,可以参考另外一位午饭的博客,我安装wordpress也是参考

wKioL1SxL5bgZ_3MAAE9EvJBMLs047.jpg
操作系统全部使用centos6.6
注意:这里只列出了node3的配置过程,node2配置过程与node3完全一致!!!
[iyunv@node3 ~]# yum install mysql-server –y   (安装mysql)
[iyunv@node3 ~]# yum install php-mysql –y   (php支持mysql的扩展)
[iyunv@node3 ~]# yum install php –y             (安装php)
[iyunv@node3 ~]# service mysqld start   (启动mysql服务3306端口)
[iyunv@node3 ~]# service httpd start      (启动httpd服务80端口)
[iyunv@node3 ~]# mkdir /www                       (创建www目录,后面会把主页面指向这里)
[iyunv@node3~]#vim /www/index.php   (编辑php页面,显示PHP信息)
       phpinfo();
?>
[iyunv@node3 ~]#vim /etc/httpd/conf/httpd.conf
# DocumentRoot:The directory out of which you will serve your
# documents. Bydefault, all requests are taken from this directory, but
# symbolic linksand aliases may be used to point to other locations.
DocumentRoot "/www/"   (修改主页面路径)
[iyunv@node3 ~]# service httpd reload(重新加载http配置文件)
访问http://172.16.18.20/页面会显示php信息;
访问http://172.16.18.30/页面会显示php信息;
[iyunv@node3 ~]#mysql (进入mysql进行配置,无密码,enter进入)
mysql> create databasewordpress;    (创建数据库)
mysql> show databases;        (查看wordpress是否创建成功)
mysql> CREATE  USER 'test'@'host' IDENTIFIED BY 'test';(创建test用户)
mysql> GRANT  ALL on *.* TO'test'@localhost IDENTIFIED BY 'test'; (给test授权)
[iyunv@node3 ~]#mysql -u test –p  (使用test登录数据库)
mysql> show databases; (查看是否能看到WordPress数据库,能看到表示授权成功)

下载WordPress到本地,并安装;
下载地址:http://cn.wordpress.org/
[iyunv@node3 ~]#unzip wordpress-3.2.1-zh_CN.zip   (解压缩WordPress)
[iyunv@node3 ~]#cp wordpress -rf /www/                  (复制WordPress所有文件到/www目录)
[iyunv@node3wordpress]# cp wp-config-sample.php wp-config.php  (复制并修改配置文件名字,因为WordPress只认wp-config.php)
[iyunv@node3 www]#cd /www/wordpress/  
[iyunv@node3wordpress]# vim wp-config.php (修改WordPress配置文件)
#define('DB_NAME','database_name_here');
define('DB_NAME', 'wordpress');   (这里填写刚才创建的数据库名称)
#define('DB_USER','username_here');
define('DB_USER', 'test');                      (数据库登陆用户名,刚才创建了test用户;)
#define('DB_PASSWORD','password_here');
define('DB_PASSWORD', 'test');           (登陆数据库的密码;)
http://172.16.18.30/wordpress  (这里需要使用浏览器访问这个网站,就可以看到WordPress页面了)

下载phpMyAdmin到本地并安装使用;
我这里不知道为什么打不开phpmyadmin的官方网站,下载地址各位自己某度去搜索吧>.<(不负责任!)
我这里使用2.1和3.2的版本.
[iyunv@node3wordpress]# cd
[iyunv@node3 ~]#tar -xf phpMyAdmin-2.11.10-all-languages.tar.gz -C /www/ (把phpMyAdmin解压到/www目录下)
[iyunv@node3 ~]#cd /www/
[iyunv@node3 www]#ln phpMyAdmin-2.11.10-all-languages -sv pma (创建软连接)
http://172.16.18.30/pma/ (这里需要使用浏览器访问这个网站,就可以看到phpmyadmin页面了)

配置nginx反向代理,并实现负载均衡
Nginx版本为nginx-1.6.2-1.el6.ngx.x86_64.rpm可以去官网下载: http://nginx.org/packages/centos/6/x86_64/RPMS/
[iyunv@node1 ~]#rpm -ivh nginx-1.6.2-1.el6.ngx.x86_64.rpm  (安装nginx)
[iyunv@node1 ~]#cd /etc/nginx/conf.d/
[root@node1conf.d]# cp default.conf default.conf.bak        (备份配置文件)
[root@node1conf.d]# vim default.conf             (编辑配置文件)
    location / {
        root  /usr/share/nginx/html;
       proxy_pass http://upservers/;    (反向代理调用upstream定义的内容)
        index index.html index.htm;
}
[root@node1conf.d]# cd ..
[iyunv@node1nginx]# vim nginx.conf
    access_log /var/log/nginx/access.log  main;
    upstream upservers {     手动定义上游服务器,指分别对哪几台服务器实行负载均衡
       server 172.16.18.20;
       server 172.16.18.30;
        }
[iyunv@node1nginx]# service httpd start
[root@node1conf.d]# service nginx configtest
[iyunv@node1nginx]# service httpd reload   (重新加载配置文件)
使用浏览器访问http://172.16.18.10/页面,记得多刷新几次.(前面编写node2和node3页面文件的时候记得有所区别,不然刷新也看不出来)


实现phpmyadmin平滑升级
[iyunv@node1nginx]# vim nginx.conf
   upstream upservers {
       server172.16.18.30 max_fails=2 fail_timeout=1;   (访问失败两次则剔除此服务器)
       server 172.16.18.20 max_fails=2 fail_timeout=1;
       }
[iyunv@node1nginx]# service nginx configtest
[iyunv@node1nginx]# service nginx reload
使用浏览器访问http://172.16.18.10/页面,记得多刷新几次 (这里可以停止node2或者node3的httpd服务来测试是否剔除)

[iyunv@node1 ~]#vim testhttp.bash   (写一个脚本每两秒访问一次http://172.16.18.10页面,看平滑升级phpmyadmin时是否会影响用户正常访问!)
#!/bin/bash
while true ;do
        if `curl http://172.16.18.10/pma&> /dev/null `;then   (执行访问172.16.18.10页面的命令,并丢弃结果)
                echo "`date`page isok!" >> /tmp/http.log      (如果访问成功,则输出正确信息,并保存至/tmp/http.log)
        else
                echo "`date`error!updata!" >> /tmp/http.log   (如果访问失败,则输出正确信息,并保存至/tmp/http.log)
        fi
        sleep 2;      (沉睡2秒)
done
[iyunv@node1 ~]#touch /tmp/http.log   (创建日志文件)
[iyunv@node1 ~]#bash -x testhttp.bash
[iyunv@node1 ~]#vim uppma.bash  (写一个脚本升级phpmyadmin)
#!/bin/bash
function UPDATE  {     (编辑函数,把软连接指向新版本)
cd /root
    if `tar -xfphpMyAdmin-3.2.5-all-languages.tar.gz -C /www/` ; then
        rm /www/pma -f
cd /www
        lnphpMyAdmin-3.2.5-all-languages -sv pma
        sleep 3
    fi
}
function BACK {           (编辑函数,把软连接重新指向原来的老版本)
rm /www/pma –f    (删除原有的软链接)
cd /www
lnphpMyAdmin-2.11.10-all-languages -sv pma   (创建软链接)
}
while true ;do
UPDATE
if `curlhttp://172.16.18.30/pma &> /dev/null`;then    (如果要升级node2时,需要把IP成node2的IP)
break     (如果成功推出循环,退出脚本)
else
BACK      (如果升级不成功,调用BACK函数滚回老版本)
fi
done
[iyunv@node1 ~]#scp uppma.bash  node3:/root  (把脚本送给node3)
[iyunv@node1 ~]#bash -x  testhttp.bash  (在开始升级前先执行这个测试的脚本)
[iyunv@node3 ~]#bash -x uppma.bash  (在node3执行升级程序)
[iyunv@node1 ~]#cat /tmp/http.log | grep error   (查看日志看有没有错误信息,我这里没有错误信息,说明升级成功了,升级完成以后建议在自己计算机上通过浏览器访问测试一下,看有没有异常,注意:我这里脚本写的比较粗糙,没有特别充分的测试,本人比较懒,一次成功了,就没有模拟各种异常的情况了.我也不知道这个脚本错误回滚会不会成功哦!!!)



小知识点:使当前操作系统支持中文:
临时生效:[iyunv@node3 ~]#export.gb2312  (中文)
[iyunv@node3 ~]# export.UTF-8   (英文)
如果想要重启后仍然有效:
[iyunv@node3 ~]#vim /etc/sysconfig/i18n
#LANG="en_US.UTF-8"   (我装的英文版,这个是原来的设置)
LANG=zh_CN.gb2312           (修改后,建议把原来的设置注释而不是删除)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-40566-1-1.html 上篇帖子: CentOS 6.4 安装配置LNMP服务器(Nginx+PHP+MySQL) 及搭建Wordpress 下篇帖子: LAMP+haproxy+varnish实现网站访问的动静分离及静态资源缓存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表