亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問如何搭建一個能防止操作失誤的php生產環境?

請問如何搭建一個能防止操作失誤的php生產環境?

PHP
慕的地6264312 2019-03-16 08:19:19
公司用著阿里云的ECS服務器,之前是服務器(centos7)+一塊磁盤, 環境和代碼全部放在一起,有一次配置環境的時候誤刪了系統文件,導致系統無法開機,后來把磁盤的數據拿出來,重新裝了環境放把mysql數據和項目代碼放在心的服務器中;折騰了一天網站才可以訪問。今天重啟了一下阿里云,結果服務器所有文件以及環境莫名奇妙的全部還原到了幾個月前出問題的狀態的代碼,用戶訪問的數據全部都是幾個月之前的代碼,阿里云方也不清楚是什么原因;還好這次數據庫文件有備份到其他的磁盤,才把數據恢復過來。 我就想問問,項目應該怎么樣部署才會好一些呢,比如說現在配置某個文件,然后不小心誤刪了系統文件,人家訪問不了服務器,但數據盤的數據是沒問題的 怎樣最快的恢復網站的訪問? 還有環境、代碼、備份需要全部分開不同的數據盤存放嗎? 可能描述的不是很清晰,畫了個簡圖:不知道是這樣是不是會好點,能避免服務器出問題導致的數據丟失,并能較快的恢復。 公司是小公司,也是第一份工作,公司就我一個程序員,沒什么經驗,希望大家能給點建議,謝謝各位了。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

因為是小公司+單程序員,所以我這里只給出你一個人就能完成的事情:

  1. 上線部署流程完全使用自動化實現;
  2. 除代碼之外的運行環境全部使用 Docker 來實現;
  3. 既然是阿里云那就開啟阿里云的定時快照;

聽起來挺嚇人的,但是實際學習成本非常低,而且學習收益非常大。不論你是php-web還是java-web還是node-web還是py-web,這套東西都適用。

以下是會涉及到的知識點:

  1. (基礎的基礎,大前提)Linux基本常識,Shell腳本編寫
  2. Git版本控制,GitHub/GitLab版本倉庫,CI/CD持續化部署(Jenkins)
  3. Docker(Docker cmd、Dockerfile、Docker-compose),不用學K8s等集群相關的
  4. 虛擬機使用和管理,VMWARE系的,在本機裝一個vmware workstation,或者用公司服務器裝一臺vmware exsi(免費的,極為推薦),學習一下虛擬機的管理

這些都是一個人就能搞定的事情,學習資料多,個人收益大。

查看完整回答
反對 回復 2019-03-18
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

如果條件允許的話,建議服務器分開放置, 應用服務器放生產環境代碼,持久化存儲的服務器比如數據庫,文件服務等等,然后代碼存放可以有單獨的git服務器;就是各類服務分開,避免單機版出問題造成毀滅性的打擊。

然后 開發線, 測試線, 生產,要自己嚴格規范,也能避免很多問題,雖然只有自己一個人,但是我覺得這還是有必要的。
做好數據的災備,以便出問題了還能恢復。數據庫可以部署用于災備的從庫等等,文件定時備份。

最最關鍵的是還是要提高運維能力,減少出問題的幾率,不然整天就光備份,恢復,備份,恢復了。

查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 450 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號