博客网站的优化三
现在我们的博客网站已经完成了
- 域名服务
- 高可用keepalived
- 双代理Haproxy负载均衡
- 高并发web服务集群
- 数据库服务
- ceph分布式文件系统存储集群
已经非常完善,只要解决数据库服务的单点故障,形成主从设备即可解决,这里暂不讨论.
新的需求:
- 搭建Git 版本控制系统,管理网站的代码,要求同时支持ssh,git,http协议访问版本库
- 对web服务器升级到新版本,定义404错误页面,支持状态显示页面,并对服务访问和错误日志切割备份,每周5一次
规划:
- git服务器放在数据库服务器上,实际生产应是单独一台服务器,这里规模不大,便于实验,节省资源,IP: 192.168.2.21/24
- ssh协议支持:git服务安装包为git,默认支持ssh协议
- git协议支持:安装包git-daemon
- http协议支持:安装包httpd 和 gitweb
- 三台nginx服务器1.12.2升级到1.15.8,原有nginx版本备份
优化概述
1)git版本控制系统
搭建git服务器
- 安装软件包 yum -y install git git-daemon httpd gitweb
- 自定义版本仓库路径 mkdir /var/git
- 初始化一个空的wordpress仓库 git init --bare /var/git/wordpress
- git协议版配置文件修改,并启动服务
- vim /usr/lib/systemed/system/git@.service 将base-path路径修改为/var/git
- systemctl start git.socket
- systemctl enable git.socket
- http协议版本配置文件修改,并启动服务
- vim /etc/gitweb.conf 添加一行,行首没有空格, $projectroot="/var/git";
- systemctl start httpd
- systemctl enable httpd
上传网站代码
- web1上克隆版本库,将网站的代码拷贝到本地git工作目录下,并提交到git服务器
- cd /var
- git clone root@192.168.2.21:/var/git/wordpress //ssh方式克隆到var目录下生成wordpress目录
- cp -a /usr/local/nginx/html/* /var/wordpress
- 进入wordpress目录,使用git add. git commit git push ,出现错误提示,根据提示配置后再提交
- web2验证git协议
- cd /var
- git clone git://192.168.2.21/wordpress //同样生成wordpress目录,此时不再是一个空的版本库
- 浏览器验证http协议
- firefox http://192.168.2.21/git
2)web服务升级优化
- nginx-1.15.8 源码编译
- ./configure --with-http_ssl_module --with-http_stub_status_module
- make
- 备份
- mv /usr/local/nginx/sbin/nginx{,.bak}
- cp objs/nginx /usr/local/nginx/sbin/ //objs源码编译生成nginx 目录
- 修改配置文件nginx.conf
- 添加状态页面 location /status { stub_status on; allow 192.168.2.0/24; deny all;}
- 定义错误页面 error_page 404 /404.html; location /404.html {root html;}
- echo "page not found" > /usr/local/nginx/sbin/html/404.html
- 更新服务
- killall nginx
- 重启服务 /usr/local/nginx/sbin/nginx
- 日志切割备份
- 编写脚步 logbak.sh 注意最后使用kill -USR1 nginx服务pid 通知服务新创建日志文件
- 配置计划任务 crontab -e root 分时日月周 + 执行脚本