有过Linux CentOS服务器部署项目的我今天帮忙部署同事的项目学到新的经验。

以前部署项目都是在Linux CentOS命令行下面进行的:

例如方案一:
使用ftp将代码上传至服务器项目的根目录(根目录由自己手动mkdir、修改权限等),其次将sql用Navicat导入,然后命令执行service httpd restart ,最后访问域名或IP即可。

今天学到方案二:

使用宝塔Linux面板来操作(虽然这种方式可以为你节省时间,但本人还是喜欢命令操作,安装环境也很快的)

面板操作步骤:

1、创建根目录;

2、创建ftp账号密码以及根目录指向;

3、添加站点(也就是给即将发布的项目添加vhosts.conf独立文件-俗称虚拟主机);

4、创建网站运行环境(eg:mysql、php、Apache);

5、配置反向代理等;

很多功能,写不完,有兴趣可以去看看。这个web管理程序我第一次见,写个笔记防止忘记,以后可能用得着(该软件虽然提供了很多功能和便利,但是我更喜欢Linux 环境下去部署我的项目,因为我觉得工具用多了,你也就是会用而已,就像打仗一样你只知道在训练场牛逼,上了战场确是一脸茫然),为了不茫然,关键时刻不掉链子,还是慢慢"扔掉"工具。

第一次写。有人看得见的话,不妨说说你的部署技巧,当做互相学习啦。

有不懂的可以加群或者留言问哦。qq群:121394025

 

===============================[很久以后]====================================

今天写一下,用git更新代码,而不是用ftp和宝塔,为更高级的一种方式。

上步骤:

  1. 安装git,此步骤不具体展开,网上有很多例子,自行安装。
  1. 安装小贴士,安装之后在本地(开发环境)新建一个文件,用git将你的仓库克隆下来,然后再编写你的代码,或者将你以有的代码copy过来(注意不要把.git文件拷过来了,会覆盖的!)
  2. 将代码push到线上仓库
  3. 在你的服务器中新建一个目录,eg:/www/wwwroot/projects/myproject
  4. 进入目录,命令:cd /www/wwwroot/projects/myproject
  5. 输入命令:git pull 在提示中输入你的仓库所在平台的账号密码即可pull下来了
  6. 结束
  1. 总结:
  1. 这样已经能实现无差别更新代码了(就是只要你提交的代码都会更新下来)
  1. 优点:比ftp更安全,因为用ftp有时候连接不稳定,还可能因为网络问题丢失文件(因为某个文件上传超时之后不会自动续传)
  2. 效率高:ftp传输太慢了,一个60M左右的项目,上传要很久(ememeem,10分钟?30分钟?反正很久了。),用git1分钟不到就pull下来了(就是每次要输入账号密码很麻烦)

上面说了使用git的一点不舒服之处:每次输入账号密码。

怎么来解决这个问题呢?

答案:使用linux crontab定时更新代码。

上步骤:

  1. crontab -e 编辑任务
#pull code
# 每2分钟更新一次代码
2 * * * * /www/sh_file/pullcoding.sh >> /tmp/git.log
# 每2分钟写入执行时间
2 * * * * ehco date >> /tmp/git.log

#每3月清除日志文件
59 23 28 */3 * > /tmp/git.log
  1. 编辑脚本文件pullcoding.sh
#!/bin/bash
cd /www/wwwroot/projects/myproject
git pull
  1. 上述准备都做好之后,再让git pull的时候记住密码,不然自动pull会失败。
  2. 编辑好之后重载配置, 命令:/bin/systemctl reload  crond.service

 

 

END