在centos部署yii2 advanced框架

手头闲置了一个阿里云的云服务器,干脆拿来部署一个yii2 advance框架,之后也可以在上面搭建自己的个人博客。话不多说,撸起袖子开干。

本次部署需要达到的目标:

a、可访问的网站正式环境端口10080(因域名还没准备,就先用ip地址+端口访问)。

b、可访问的网站测试环境端口10081。

c、可通过git进行版本管理与迭代。git推入到远端时,代码即时更新至测试环境。

php运行环境提前备好,安装apache、php、Mysql,composer、git等, 此类的教程很多可以尽情百度,保证php能正常在网页中执行,就可以开始安装yii2了,开工!

1、首先从yii2官网获取yii2_advanced的框架文件,解压至特定文件夹:

 

解压后的目录如上图。

2、创建空的git仓库,为承载框架内容做准备。

      a、进入到准备存放git的仓库:cd /mnt/git

      b、初始化git仓库:git init --bare project.git

      c、建立可以使用git的用户:useradd gituser ; passwd gituser

      d、之后赋予git用户访问git仓库的权限:chown -R gituser:gituser project.git/

3、创建测试环境:

      a、进入测试环境的目录:cd /mnt/test

      b、clone刚刚创建的空git仓库:git clone /mnt/git/project.git

      c、将正式环境目录下的文件拷贝至测试环境目录:cp -a /www/project/. project/     #注意这里的/www/project/后有一个点号,代表连同隐藏文件一并复制,-a则可以连同文件权限属性一并复制。

4、以上即填充好了测试环境的数据,但此时git仓库还是空的,我们将测试目录下的文件提交至git。

      a、进入测试环境的目录:cd /mnt/test/project

      b、提交当前所有文件:

            git add .

            git commit -m "first init"

            git push

      c、等提交完成之后用git log看看日志,已经提交成功:

 

      d、另外,为了让本地推入到远程的代码能自动同步至测试服,这里将test/project目录更改为git用户所有,以让git的hooks脚本可以更新此目录下的文件,执行:chown -R gituser:gituser /mnt/test/project

4、以上即完成了正式环境数据、测试环境数据及git环境的初始化。现在尝试在本地检出代码。在Windows的G:/xmapp/htdocs/执行git命令:

git clone gituser@xxx.xxx.xxx.xx:/mnt/git/project.git project/

 

等待clone完成,本地的文件即同步完成。

5、现在所有的基础数据都准备好了。离目标还有三件事:1、让正式服和测试服目录可以通过浏览器访问。2、正式服或测试服的yii框架初始化。3、当本地更改代码并通过git 完成push之后,代码需要自动同步至测试服。先来让正式服和测试服可访问:

      a、修改服务器apache的http.conf,增加对10080及10081端口的监听。目前只需要yii2的前台部分可访问,将网站根目录定至frontend/web。如下为测试环境的apache配置,具体情况根据个人服务器环境进行配置:

 

         b、同时更改fpm的配置,在php_admin_value[open_basedir后面加上正式环境及测试环境的目录。

       c、完成以上工作,重启apache和fpm,理论上就可以通过外部访问正式服和测试服。这时访问xxx.xxx.xxx.xx:10080就可以看到yii2输出的网页了,但因为yii框架并没有初始化,此时会提示错误。

6、初始化正式服和测试服的数据。如有必要,本地也可以初始化,方法都是一样,非常简单,此处以初始化正式服为例。进入正式服的project目录,执行:php init ,之后选择1(测试环境可选择0,便于开发过程中定位问题),二次确认“yes”,之后输入“all”,初始化即完成。此时访问正式环境的10080端口,就可以看到正常的yii2框架了:

 

测试环境或本地的初始化也是一样,1个“php init”命令搞定初始化。

最后一个任务,git自动提交。当本地提交并push代码后,要可以在测试服立刻看到效果:

a、在/mnt/git/project.git/hooks中,新建post-receive文件:执行“cp -a post-update.sample post-receive“,打开post-receive,删除已有的所有内容,并写入以下3行命令:

git --work-tree=/mnt/test/project checkout -f

cd /mnt/test/project

composer dump-autoload

 

保存后退出文件就ok了。之后只需在本地修改文件,用git推入远端即可在测试服看到效果,待测试服稳定,再发布至正式服。

后续需要使用数据库,则还要在project/common/config/main-local.php里填写数据库相关信息,可参考yii2的官方文档进行。

以上,作为本次操作的记录,希望对大家有所帮助

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤在 CentOS 上快速部署 L2TP 服务: 1. 安装 L2TP 和 PPTP 服务 ``` yum install xl2tpd ppp pptpd ``` 2. 配置 xl2tpd 编辑 `/etc/xl2tpd/xl2tpd.conf` 文件,将以下内容添加到文件末尾: ``` [global] ipsec saref = no [lns default] ip range = 192.168.42.10-192.168.42.20 local ip = 192.168.42.1 require chap = yes refuse pap = yes require authentication = yes name = l2tpd ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes ``` 3. 配置 ppp 创建 `/etc/ppp/options.xl2tpd` 文件,并将以下内容添加到文件中: ``` require-mschap-v2 ms-dns 8.8.8.8 ms-dns 8.8.4.4 proxyarp mtu 1400 mru 1400 auth name l2tpd password l2tpdpassword ``` 注意将 `l2tpdpassword` 改为你自己的密码。 4. 配置 pptpd 编辑 `/etc/pptpd.conf` 文件,将以下内容添加到文件末尾: ``` localip 192.168.42.1 remoteip 192.168.42.100-200 ``` 5. 配置 chap-secrets 编辑 `/etc/ppp/chap-secrets` 文件,将以下内容添加到文件末尾: ``` username l2tpd password * ``` 注意将 `l2tpd` 和 `password` 改为你自己的用户名和密码。 6. 启动服务 ``` systemctl start pptpd systemctl start xl2tpd ``` 7. 配置防火墙规则 ``` iptables -A INPUT -p udp --dport 1701 -j ACCEPT iptables -A INPUT -p udp --dport 500 -j ACCEPT iptables -A INPUT -p udp --dport 4500 -j ACCEPT iptables -A INPUT -p gre -j ACCEPT iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu ``` 完成以上步骤后,即可在 CentOS 上快速部署 L2TP 服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值