準備把服務器操作系統從Ubuntu改成CentOS,服務器程序由Apache改成Nginx,我需要準備什麼?

wenzi容謙


最簡單的辦法就是直接上nginx反向代理:

好處:

1、為以後網站集群擴容做了一個好的鋪墊;

2、對源站apache做了一個隱藏,安全同時也提高了。

3、nginx反向代理對多網站(虛擬機主機)的支持極佳。

步驟如下:

先把apache、數據庫相關數據備份,然後更換操作系統,centos最好使用7版本的,考慮以後程序依賴內核的問題,然後把apache相關數據還原回去。

另外,我的建議是,在apache前段加一個nginx即可,直接使用反向代理,如果你apache使用php等動態網站,沒必須花大量的時候去折騰更換網站架構。

nginx也要使用最新版的,避免老版本的漏洞問題

使用nginx反向代理的好處就是,以後網站集群擴容,增加新的網站、二級域名是很方便的,而且不需要做很大的改動。

架構圖如下:


https://www.toutiao.com/c/user/5844231468/#mid=1634198915259405


懸鐘Mr


1、就目前來說,ubuntu 和 centos 操作系統都比較穩定,我公司也有很多產品跑在 ubuntu 上,也沒見出現過什麼問題。所以選擇 ubuntu 還是 centos 完全是看個人的想法,熟悉哪個就用那個便是。ubuntu 使用 apt-get 管理包,對非專業的系統管理員更加友好些,因為它可以在使用未安裝的命令時給出安裝提示;centos 使用 yum 或 rpm 管理包,是開源主流的服務器選擇對象。

2、涉及遷移問題,思想很簡單,先備份數據和應用程序。作為運維人員,最穩妥的做法預先先做好安全備份,不然誤操作的話,就要準備好跑路了,哈哈。

3、在 centos 上安裝相同版本的所需軟件,比如 PHP、MySQL等,如果確認版本不會影響應用程序的運行,可以安裝最新版本即可。Nginx 是一個開源輕量大併發的代理中間件,處理靜態資源的效率很高,反向代理;Apache 在處理動態請求上比 nginx 有優勢,rewrite 強大,模塊多。

4、方案:1). 直接使用 Nginx ----> PHP,配置好 location即可;2). Nginx + Apache ----> PHP,nginx proxy apache,讓 apache 去處理 PHP。但只要資源給夠,使用方案1就已經足夠。

5、安裝好需要先調式,調式通過後,恢復數據,測試驗收,最後開放上線。


運維技術圈


如果要把服務器操作系統由Ubuntu改為CentOS、另外將WEB容器Apache改為Nginx,這就涉及了兩方面的工作,即:系統遷移、應用程序遷移,這兩方面涉及的工作各有重點,主要有以下:

1、服務器操作系統更換

由於Ubuntu和CentOS都是Linux發行版本,兩者差異化並不大,所以這方面程序移植是沒問題的,我們要做的就是:

  • 統計Ubuntu服務器上哪些軟件包是必須安裝的,然後在CentOS上一樣安裝上,避免遷移後運行程序缺少依懶;

  • 數據備份,如:網站程序、應用程序、數據庫備份、必要的日誌文件等;

  • 統計定時任務清單,要清楚哪些任務是要定時自動執行的;

  • 確認開機啟動程序/服務有哪些;

  • 統計服務器上的用戶和群組,另外要清楚知道服務器上目錄權限的劃分;

2、WEB容器遷移

由於Apache和Nginx配置不同,所以遷移前要做好確認,主要注意事項是:

  • 站點配置的方法不同;

  • URL Rewrite設置不同;

考慮到Nginx是專業的代理服務器,所以我們建議遷移後依舊由Apache做為WEB容器,前面加上Nginx作為前端代理,這種模式更能適應高流量站點。



綜上,服務器操作系統換成CentOS是非常正確的選擇,而WEB容器這塊建議是 Nginx+Apache這種模式。

以上就是我的觀點,我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!如果大家有不同看法,歡迎在下方評論區發表自己的觀點 ~


網絡圈


首先我分解下題主的問題,針對分解後的2個問題逐一進行詳細的回答,那麼拆解後的2個問題分別是:

  1. 操作系統的遷移:從Ubuntu遷移到CentOS;
  2. Web容器的遷移:Apache遷移到Nginx;

操作系統遷移

第一點操作系統從Ubuntu遷移到CentOS,這一點可以很順利的遷移,因為Ubuntu和CentOS都是基於Linux的發行版本,底層系統原理大同小異,可以無縫遷移,但還是需要注意遷移的項目用到的操作系統功能,比如如果用了系統的防火牆功能、iptable用戶黑白名單和訪問攔截功能、crontab功能、安裝插件、軟件源倉庫等等,這些配置項需要格外注意,因為系統間的差異是存在的,需要根據系統來適配最好的配置,但我強烈推薦使用CentOS做完服務器,下面是二者的詳細不同點:

服務器遷移

相對於第一點的服務器遷移,Apache遷移到Nginx就是個大工程了,因為二者的技術架構完全不同,配置規則也大不相同,所以在遷移過程中一定要仔細地把Apache的配置都用Nginx的方式重新配置一邊,而且一定要經過全面的測試,針對每個url,每個接口都要測試到才能正式替換。其實Apache和Nginx不存在誰替換誰的問題,他們各有所長,而且一般項目中都是前端nginx 抗併發,後端 apache 集群抗壓,這樣混合著用更能提供整個服務的健壯性和可靠性。

Apache擁有豐富的模塊組件支持,穩定性強,BUG少,動態內容處理強。

Nginx輕量級,佔用資源少,負載均衡,高併發處理強,靜態內容處理高效。


綜上,題主在遷移服務器的時候,一定要好好學習下Nginx的配置規則,確保把Apache的配置完整的遷移過來,而且一定要全面回滾的測試,要對上線的功能存在敬畏心,相信我,這都是作為一個過來人對你的真誠的忠告,如果有什麼想法歡迎留言討論。


碼農胖哥


謝謝,服務器系統的更換是一種很麻煩的事,因為各種服務,各種數據都需要備份,防止後期的檢查的。樓主需要準備什麼呢


首先,服務器以前的操作系統需要備份,數據的備份,apache的備份,防止以後的查找。

其次,就是準備新系統的鏡像,也就是centos的鏡像,Nginx的安裝包,還有數據庫等一系列資源。

再次,確定你會安裝這些軟件和配置,服務器系統不要輕易的更改,後期遇見的問題,不是你可以想象的,各種問題。

總之,樓主想更換系統,希望你的運氣很好,不會出現任何問題。

希望我的回答可以幫助到你,如有不明白的地方,可以私信給我,我可以幫助到你!


IT小明


很高興回答您的問題。如果您要更換服務器操作系統以及web服務器,建議您

1、先將原始的系統做一個備份,避免更換系統和程序之後出現問題 無法恢復

2、備份完成後,更換操作系統之前,先將一些操作系統的配置,比如 開啟即啟動的軟件、用戶組、用戶權限、訪問日誌 、防火牆、FTP、定時任務、必備軟件等等這些配置 備份下來,更換系統之後 對應的在新的centos系統上都添加上

3、更換為apache服務器之前,先將 網站程序和數據 、以及訪問日誌、虛擬主機的配置等相關的這些都備份下,更換為nginx之後需要對應更換,由於apache和nginx是兩個不同的服務器,有一些配置項目(比如虛擬主機的配置 重寫模塊的配置)可能有所不同,需要對應的更改下

4、系統和程序都更換完成之後需要對應檢查下 所有的網站是否能正常訪問,系統是否能正常運行,如果系統能正常運行 即切換成功,否則需要根據報錯對應排查原因

以上回答希望能對您所有幫助


一莉凡塵


不外乎就是備份數據庫,備份程序代碼,然後從服務器下載到本地來,重裝環境centos,在還原回去數據庫和程序,Apache或nginx都差不多程序花不了多少時間,比如php環境,要知道你的程序在哪個版本下才可以


web開發分享


如果非要換,還是ubuntu換debian吧。Debian公認的穩定。


vartwm


您好,我是一名互聯網開發工程師,同時也是vlog領域創作者,歡迎關注我!


如果您準備把服務器的操作系統從Ubuntu改成CentOS,服務器程序由Apache改nginx,你需要做以下的準備:


首先我們來看看Ubuntu和Centos的區別

其實,Ubuntu和Centos都是Linux,只是它們倆的發行版本不一樣,如下圖:


我個人建議生產環境用Centos是比較好,Centos安全穩定性能好,大型互聯網公司都使用;Ubuntu拓展包太多,顯得有點臃腫,經常性的升級導致性能不穩定,容易出bug

備份原Ubuntu服務器數據

1、備份數據庫數據,先把Ubuntu系統的數據庫數據導出到本地或者其他服務器

2、備份redis等nosql數據

3、備份好原服務器程序文件、host主機配置文件等

4、備份記錄好拓展包以及一些必要插件,以及開機定時任務、腳本等


如果要想平滑改服務器系統,不影響現有業務的情況下,需要添加臨時服務器

改成Centos服務器後,需要做

1、安裝nginx,配置好文件和程序文件路徑、域名等

2、配置好防火牆規則

3、安裝業務程序必須用到的插件、拓展包以及開啟對應的端口號

4、導入原數據庫數據,保證數據沒丟失、損壞

5、測試新服務器整體運行狀況,包括業務是否可以正常運行,服務器CPU、內存等是否在正常範圍內

6、重新加入定時任務、腳本,並進行測試

7、檢查服務器網絡是否暢通,是否會有阻塞,請求超時的現象



程序猿添添


你需要的是準備docker,無汙染部署


分享到:


相關文章: