网站部署,选用阿里云
web基础环境搭建好后
www目录下面不直接放网站目录,我们遵循这样的规范:
为每一个应用/项目建虚拟主机并对应一个目录,一个应用一般为一个项目:
比如:
data/wwwroot/www.xxx.com/ 目录为一个网站项目 对应 一个虚拟主机,域名:www.xxx.com
(我们不提倡直接使用一级域名xxx.com,建议xxx.com做重定向到二级域名www.xxx.com,并且泛域名解析也指向www.xxx.com,一般www的是我们的主业务线)
并且所用框架也放到网站项目目录里面,这样抱着多个应用将来开发不同步,所用不同框架版本时不会有冲突,没个项目单独运营不会有冲突。
版本控制使用github,线上生产环境,部署环境永远用最稳定的版本,即使用 master 分支,其它版本更新,修复BUG,测试,开发新功能等开发工作鼓励多拉分支进行开发,最后审核代码进行分支合并,并测试,保证master分支上的代码为最稳定的,同时做好master分支的里程碑(版本),然后部署到服务器生成环境中,保证服务器生产环境中运行的版本为最稳定的版本(注意不一定是最新的,只有经过完备严谨的测试后才能部署到线上环境中,并且要做“上线记录”,提供预案,以便发生突发情况可以预灾,回到安全代码,不对业务逻辑造成影响)。
但是线上生产环境中对问题的跟进,日志的记录,系统的调优也是必须的,并且作好记录,反馈到开发工作中,并做记录,以便在下一版本完善修复问题,优化程序。
代码版本发布遵循:[semver](http://semver.org/lang/zh-CN/)
### PHP环境开发部署
- php.ini
// 显示错误
display_errors = On
// 显示错误?
display_startup_errors = On
// 错误日志
log_errors = On
// 显示全部错误
error_reporting = E_ALL
常用:
error_reporting(E_ALL & ~E_NOTICE);
本机开发Apache ` httpd-vhosts.conf`配置:
~~~
<VirtualHost *:80>
ServerName tv-dingtalk.com
DocumentRoot d:/wamp64/www/tv-dingtalk/public
# 设置允许跨域 参考:http://blog.csdn.net/linxiangyao/article/details/6107617
Header add Access-Control-Allow-Origin *
Header add Access-Control-Allow-Headers "Content-Type"
# 解决mod_rewrite时pathinfo url参数中不能带有特殊字符问题 参考:http://www.2cto.com/os/201409/338511.html
AllowEncodedSlashes On
<Directory "d:/wamp64/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
~~~