开发环境部署

时间:2022-06-23 13:56:44

开发环境部署

软硬件环境

名称 系统环境 软件环境
写代码的电脑(W1) windows 7 Sublime Text
开发虚拟机(V1) CentOS-6.8 -x64 lnmp,git(>1.8.0)
测试服务器(T1) CentOd-6.5-x64 lnmp,git(>1.8.0)

GIT托管平台

  • www.coding.netwww.github.com
  • 注册账号,创建项目(test)

W1配置

  • 创建一个文件夹(最好与项目同名),然后共享之

V1配置

  1. 安装samba-client和cifs-utils

    yum install -y samba-client cifs-utils
  2. 将W1共享的文件夹挂载到特定目录

    查看共享目录:smbclient -L //10.36.137.230
    挂载目录:mount.cifs -o username="Everyone",password="" //10.36.136.230/test /var/www/html
  3. 配置秘钥,完成无密码的push

    ssh-keygen           #连续点击回车即可完成密钥对的生成

    #会在~/ssh下生成 id_rsa、id_rsa.pub两个文件


    #将id_rsa.pub中的内容粘贴到项目的公钥部署处
  4. 安装GIT,yum安装版本过低(yum remove git),需要手动编译安装

    下载:wget -c https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz
    解压:tar -zxvf git-2.9.4.tar.gz
    进入:cd git-2.9.4
    配置:./configure --prefix=/usr/local/git
    编译:make #可能会报错,缺少perl5,安装即可:yum install -y perl-devel
    安装:make install
    将git可执行程序路径添加到环境变量$PAH中
    在/etc/profile文件最后添加如下内容
    export PATH=$PATH:/usr/local/git/bin
    立即生效:source /etc/profile
    查看版本:
    git --version
    配置:
    git config --global user.name xxxxx #配置用户名
    git config --global user.email xxxxxx@126.com #配置邮箱
    查看配置:
    git config -l
  5. 项目初始化

    cd /var/www/html     #进入项目目录
    git init #初始化项目
    touch index.php #新建一个文件,添加测试代码 <?php echo 'ok';
    git add . #添加所有文件
    git commit -m 'init' #首次提交
    git remote add origin git@git.coding.net:CodingJerry/test.git #添加远程仓库地址,使用ssh协议
    git push origin master #将本地主分支推送远程master分支
  6. 在项目目录创建虚拟主机

    在/usr/local/nginx/conf/vhost/目录下创建www.test.com.conf文件,添加内容如下:
    server {
    listen 80;
    server_name www.test.com test.com;
    index index.html index.htm index.php;
    root /var/www/html;

    location ~ \.php$ {
    root /var/www/html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    重启nginx服务:service nginx restart

    说明:在W1上修改host文件,添加如下内容
    10.36.137.231 www.test.com
    10.36.137.231 test.com

T1配置

  1. 配置秘钥对,完成对项目的无密码push

    修改www用户的shell为:/bin/bash
    切换到www用户:su - www
    秘钥对配置:ssh-keygen
    将公钥部署到项目中,一遍无密码的pull
    su - #切换到root用户
  2. 安装git,版本大于1.8.0即可

  3. 将项目克隆下来,并在项目目录创建虚拟主机

    chown www:www /home/wwwroot      #设置权限,否则无法克隆项目
    su - www #切换到www用户
    cd /home/wwwroot #切换到网站目录
    git clone git@git.coding.net:CodingJerry/test.git #克隆项目
    su - #切换到root用户
    chown root:root /home/wwwroot #重新改为root权限
    lnmp vhost add #创建虚拟主机,指定项目目录,然后域名解析一下
  4. 在已存在虚拟主机(jerry.mxspider.com)下创建一个文件(index.php),作为钩子文件

    cd /home/wwwroot/jerry.mxspider.com
    touch index.php #新建文件,添加测试代码 file_put_contents('./test.txt','hello');
    将http://jerry.mxspider.com/index.php添加到test项目的webhook下
    测试是否成功(一旦项目push时就会访问该url)
    测试成功后,将内容改为:exec('./webhook.sh');
  5. 创建脚本webhook.sh


    #!/bin/bash


    cd /home/wwwroot/test
    /usr/local/git/bin/git pull origin master --allow-unrelated-histories

    chmod +x webhook.sh #添加可执行权限
  6. 修改/usr/local/php/etc/php.ini

    搜索disabled_functions,将禁用函数exec去掉
    重启php:service php-fpm restart
  7. 项目测试完毕,使用rsync将测试服务器上的代码同步到线上服务器