前言

在云端服务器上, 我们要管理自己的程序非常麻烦, 必须登陆云端进行管理, 而且云端都是命令行, 操作起来也不方便. 于是我们想到编程中最擅长的就是把所有变化集中到一个地方, 统一管理. 那么我们就可以参考这种思想, 把服务器的程序和配置全部集中到一个文件夹, 统一进行管理.

原理

我以我自己的为例, 因为我使用的是wordpress, mysql, nginx和hexo. 所以我服务器就有php配置文件, php-fpm配置文件, nginx配置文件, 并且有wordpress主程序, hexo程序, 还有存放https证书的目录, 还有定时备份数据库的脚本文件, 于是我就准备了一个统一目录zixuehu用来存放他们. 20201106154216-2021-12-30-08-27-09

接下来就是在服务器的/home/git下面配置一个zixuehu.git裸仓库, 并且设置裸仓库的钩子, 当git仓库被更新时, 就把文件同步到/usr/local/zixuehu文件夹.

根据上面这种形式, 当我本地修改好文件后, 通过git就能自动同步到云端服务器. 从而实现对变化的统一管理.

步骤

  1. 把所有脚本和程序都找出来, 并且放入本地的zixuehu文件夹.

  2. 关闭云端服务器的nginx和php-fpm服务.

    ps: php-fpm服务很烦, 线程很多, 必须使用killall php-fpm才能完全清除干净.

  3. 在服务器上创建git裸仓库, 并且创建/home/git/zixuehu.git/hooks/post-update的钩子, 和服务器端的/usr/local/zixuehu文件夹进行关联.

  4. 本地修改好所有配置文件后, 和服务器端的git仓库关联, 并且推送.

  5. 指定配置文件的方式启动nginx和php-fpm.

    #指定php-fpm的启动文件 php-fpm -y /usr/local/zixuehu/php/php-fpm.conf -c /usr/local/zixuehu/php/php.ini #指定nginx的启动文件 nginx -c /usr/local/zixuehu/nginx/nginx.conf

ps: 我的php是编译安装的, 所以自己手动去/etc/profile配置了环境变量才能直接使用php-fpm命令.

  1. 创建crontab的定时任务, 让服务器在凌晨3点自动备份数据库到github和码云.

推荐阅读

如果有什么地方不懂得,推荐阅读下面的文章:

编译安装php linux下搭建git服务端 git推送自动更新应用程序 利用git和crontab自动备份数据库

总结

我们今天学习了如何通过git来统一管理在服务器端的所有配置和程序. 这样也是利用了编程中的高内聚低耦合思想, 我们把配置和程序高度内聚到一个文件夹, 服务器不会牵扯到我们程序和配置本身. 我们可以随时更换任意服务器. 从而维护起来更方便.

THE END
开启精彩搜索

历史搜索

用户名或邮箱
密码
用户名
密码
重复密码
邮箱
注册
找回密码
注册 登录
邮箱
邮箱验证码
发送验证码
59秒后可重发
新密码
重复密码
请选择支付方式
余额支付

购买将消耗【10

微信支付
微信扫码支付 0 元
[ 04分50秒 ]
请使用微信扫一扫
扫描二维码支付
支付宝支付
支付宝扫码支付 0 元
[ 04分50秒 ]
请使用支付宝扫一扫
扫描二维码支付
已完成支付
未完成支付

请输入验证码

点击验证码可以刷新

你确认吗?

确认

2024年10月1日

新增

新增