一、試驗目的
無論是阿里云,還是騰訊云,無論是華為云,還是天翼云……無論是“哪朵云”,肯定都會有“負載均衡”這個服務,這究竟是個什么東東呢?產(chǎn)品介紹、功能特性等信息,各家的云官網(wǎng)上都講的很仔細啦,在此就不贅述了。
對了,此實驗主要針對技術人員,或者是對技術感興趣的愛好者,對于技術不感興趣的,可以耐著性子湊個熱鬧,也可以就此繞行。
Nginx就可以實現(xiàn)負載均衡,當然,Nginx還可以做Web服務器,郵件服務器,反向代理等等,其中做Web服務器的性能要比Apache Tomcat的好,所以很多企業(yè)也越來越喜歡使用Nginx。
因此,一時興起,打算自己搭建一個Nginx環(huán)境。
二、試驗準備
1. centos 7.5 云主機(虛擬機),移動云云主機開通流程請參考此帖:https://www.toutiao.com/i6848856439516037635/
2. Nginx 1.18.0 (stable version),可以參考Nginx社區(qū)網(wǎng)站,http://nginx.org/en/download.html
三、試驗過程
步驟一:上官網(wǎng)瞧瞧
既然是要搭建Nginx環(huán)境,還是建議到社區(qū)官網(wǎng)上先看看,雖說英文看起來頭疼,但看得多了也就不疼了,而且官網(wǎng)上的東西,肯定是最權威和一手的。當然,網(wǎng)上搜來的各種帖子也是值得參考的,否則像我這樣的辛苦碼字的技術愛好者們,就沒啥動力發(fā)帖啦。
點擊http://nginx.org/ 進入社區(qū)官網(wǎng),一般首頁也發(fā)布一些最新版本的信息,在做此實驗的時候最新版本是nginx-1.19.1,不過是mainline版本,最新的stable version版本的是nginx-1.18.0。一般進入官網(wǎng),想下載安裝包或者源碼,肯定是找download,如果是想查看文檔,肯定是找documentation或者docs等字眼。
說明一下:此實驗是采用yum倉庫方式安裝Nginx的,不是源碼編譯的方式安裝的,網(wǎng)上也有很多源碼編輯安裝方式的帖子,感興趣的可以搜索查看。
閑話少說,點擊鏈接http://nginx.org/en/linux_packages.html ,進入主題,找到CentOS對應的安裝說明,如圖:
Nginx社區(qū)官網(wǎng)
步驟二:安裝yum工具包
sudo yum install yum-utils
安裝完成的顯示界面
步驟三:配置Nginx配置文件
按照官網(wǎng)的指導,編輯配置文件,命令如下:
vi /etc/yum.repos.d/nginx.repo
將倉庫配置的代碼拷貝到編輯文本中,保存退出。注意:我修改了名字,直接改成nginx,是為了后續(xù)敲命令方便。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
命令界面如下:
步驟四:用yum安裝Nginx
繼續(xù)按照官網(wǎng)文檔的指導,安裝Nginx,使用的命令如下:
sudo yum install nginx
如果顯示此信息,沒有其他error信息,表示安裝完成。
步驟五:查看Nginx安裝文件目錄,找出關鍵的配置文件
使用命令:rpm -ql nginx
步驟六:啟動Nginx
啟動的命令很簡單,直接在命令界面敲入nginx,同時用ps aux | grep nginx命令來查看nginx啟動進程。
nginx
ps aux | grep nginx
步驟七:驗證Nginx服務是否啟動成功
一種是使用命令來驗證,最常用的就是curl,加上需要驗證的網(wǎng)站地址和端口,因為是本地驗證,所以使用localhost就行,又因為默認是80端口,所以端口默認可以不添加。
curl localhost
另一種是通過瀏覽器來訪問,因為我的實驗環(huán)境是搭建在移動云云主機上,使用我本地筆記本電腦訪問云主機上的服務,需要通過公網(wǎng)IP地址來訪問,私網(wǎng)肯定是訪問不到。
通過移動云控制臺->云主機,查看云主機列表,找到云主機對應的公網(wǎng)IP地址:
同時確定該云主機關聯(lián)的安全組放通了對應的端口,Nginx配置文件中默認是80端口。
該是見證奇跡的時刻到了,在瀏覽器地址欄敲入http:// 36.133.97.21:80,回車……
不幸的是,頁面出錯了。難道是Nginx沒有啟動嗎?但明明本地curl localhost已經(jīng)顯示成功了啊,說明問題不在本地啊。難道是安全組沒有放通80端口?可明明是放通了啊。然后就各種的問號開始在大腦里飄了吧,各種懷疑人生了吧,各種……
其實這就是技術愛好者的探索過程,不出問題是不可能的,只有出現(xiàn)了問題,然后又解決了問題,才能品嘗到那種成功的滋味兒,雖說在別人眼里只是小打小鬧,可就好這口!
步驟八:兵來將擋水來土掩,發(fā)現(xiàn)問題,解決問題
其實吧,這是移動云平臺的特殊要求,對于部署網(wǎng)站的云主機,80端口是需要ICP備案后才能讓外網(wǎng)訪問,畢竟咱們這只是個實驗環(huán)境,實驗目的很純潔,萬一讓不法分子鉆空子,搭建一個不和諧的網(wǎng)站,讓廣大網(wǎng)民隨心所欲的訪問,豈不是壞了大事。
咱們是遵紀守法的良好公民,既然80端口用不了,可以換其它的端口啊,還記得上面提到的那兩個主要配置文件吧,修改端口,走起!!
vi /etc/nginx/conf.d/default.conf
:wq 保存退出。
重新加載Nginx,然后查看監(jiān)聽端口是否生效。
nginx -s reload
netstat -lntp
確認安全組放通8000端口,然后通過本地筆記本電腦瀏覽器,http:// 36.133.97.21:8000,然后再次訪問,出現(xiàn)以下界面,說明搭建成功。
總結:
到此算是把Nginx環(huán)境搭建成功了,萬里長征才走出第一步,Nginx里面還有很多的功能可配置,假如自己開發(fā)了一個網(wǎng)站,網(wǎng)站的所有頁面發(fā)布到/usr/share/nginx/html此文件夾下,并且把index.html頁面替換成自己網(wǎng)站的首頁,就可以通過瀏覽器訪問了,也算是搭建了自己的第一個web網(wǎng)站吧。
詳細的開發(fā)功能,或者命令參數(shù),可直接參考官網(wǎng),或者搜帖子,總有人走在自己的前面的,也總相信有人會解答問題的。
四、問題匯總
1. Nginx服務不知道是否啟動
可通過curl IP地址:端口號 來驗證,比如curl 127.0.0.1:80,如果驗證返回Nginx歡迎頁面,說明啟動成功。
也可以通過ps aux來查看Nginx運行進程,如果能找到master和worker進程,說明Nginx啟動成功。
2. 瀏覽器訪問老是出現(xiàn)頁面出錯
要么是安全組沒有放通端口號,要么就是因為移動云本身的管制,使用了80端口,解決辦法就是換其它端口號再試試。






