網站部署,選用阿里云
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>
~~~