最近在部署自己的網(wǎng)站(racsky.com)時(shí),使用了Nginx的服務(wù)反向代理,并且記錄了過程與大家分享,相信這篇文章能夠幫助到你。
Nginx介紹
Nginx是一款輕量級、高性能的反向代理Web服務(wù)器,有著占有內(nèi)存小、并發(fā)能力強(qiáng)的特點(diǎn),在網(wǎng)頁服務(wù)器中表現(xiàn)較好,也是很受很多網(wǎng)站的選擇使用,包括百度、騰訊、新浪、淘寶等。
下面就來具體介紹下Nginx的使用情況:
安裝Nginx
下載Nginx,可以下載離線安裝包進(jìn)行安裝,也可以使用wget在線下載安裝,還可以使用apt-get進(jìn)行安裝
方式一:下載離線安裝包
將安裝包推送到服務(wù)器上,這里就不得不提到windows和linux之間的文件傳輸
在進(jìn)行傳輸之前需要安裝第三方模塊lrzsz,如果已經(jīng)安裝可以就此忽略,那么怎么進(jìn)行驗(yàn)證呢?在命令行輸入rz,如果能夠正常出現(xiàn)彈窗,說明已經(jīng)安裝過了,否則需要進(jìn)行安裝:pip install lrasz
在Linux環(huán)境下的運(yùn)行窗口中輸入命令 rz,此時(shí)就會出現(xiàn)如下彈框
非常的方便,可以自由選擇想要上傳的文件。
這樣可以實(shí)現(xiàn)Windows向Linux上傳文件呢,那么Linux向Windows如果傳輸呢?
在命令行輸入sz + 文件名稱,就會出現(xiàn)彈框提示要存儲在Windows的路徑,可以自由選擇。
這里就可以完美的實(shí)現(xiàn)Windows和Linux文件的文障礙傳輸,真的是太方便了。
好了,回到正題,將我們下載好的安裝包按照這種方式推送到Linux的文件夾下,下來就是進(jìn)行解壓安裝。
方式二:使用wget進(jìn)行下載
# 這里根據(jù)自己選擇目錄下載,將安裝包防止的路徑
cd /usr/src
#下載指定版本或者最新版本都是可以的
wget http://nginx.org/download/nginx-1.13.8.tar.gz
# 解壓
tar -zxvf nginx-1.13.8.tar.gz
# 進(jìn)入解壓目錄
cd nginx-1.13.8
# 配置
./configure --prefix=/usr/local/nginx
# 編輯nginx
make
# 安裝nginx
make install
# 啟動nginx
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 注意:-c 指定配置文件的路徑,不加的話,nginx會自動加載默認(rèn)路徑的配置文件,可以通過 -h查看幫助命令。
# 可以查看nginx進(jìn)程
ps -ef|grep nginx
此時(shí),就可以訪問服務(wù)器的HTTP服務(wù),來確認(rèn)是否已經(jīng)成功安裝。
方式三:使用apt進(jìn)行下載
# 安裝
sudo apt-get install nginx -y
#啟動 Nginx
sudo /etc/init.d/nginx start
此時(shí)訪問自己的域名就可以看到Nginx的測試頁面了
在這里可以看到離線安裝包的安裝步驟要稍微復(fù)雜些,這是因?yàn)樾枰贚inux環(huán)境下重新編譯安裝,如果是直接在線安裝的話就會少了很多步驟,但是在線安裝有時(shí)候會非常緩慢,導(dǎo)致安裝異常,需要安裝多次都有可能。
下面是Nginx的常用命令
# 啟動,下面兩個(gè)都是可以的
/usr/local/nginx/sbin/nginx
/etc/init.d/nginx start
# 停止
/etc/init.d/nginx stop
# 重啟
/etc/init.d/nginx restart
# 查看Nginx的版本,大寫的V是可以看到詳細(xì)信息
/usr/local/nginx/sbin/nginx -v
/usr/local/nginx/sbin/nginx -V
# 檢查配置文件是否正確
/usr/local/nginx/sbin/nginx -t
* 注:以上的操作都是root用戶下進(jìn)行的。
配置Nginx
Nginx是集反向代理和負(fù)載均衡于一身。
什么又是負(fù)載均衡呢?
我們都知道在訪問網(wǎng)頁的時(shí)候,都是先將請求發(fā)送到Nginx,然后再由Nginx進(jìn)行分發(fā)到實(shí)際項(xiàng)目的服務(wù)器,Nginx相當(dāng)于是做了個(gè)中間人的角色。
我們可以假設(shè)不做負(fù)載均衡,如果在某一時(shí)刻內(nèi)有100個(gè)用戶同時(shí)訪問一個(gè)網(wǎng)址,那么這個(gè)Nginx就要將這100個(gè)請求分發(fā)到后面的網(wǎng)頁,那么如何進(jìn)行分發(fā)呢?后面的服務(wù)器收到處理都不相同,有可能有的需要處理的很多,有的沒有處理就在哪里閑著。
那么如果做了負(fù)載均衡的話,就相當(dāng)于把這100個(gè)請求均分的發(fā)送到項(xiàng)目的服務(wù)器,這樣每個(gè)服務(wù)器處理請求的數(shù)量基本都是一樣的,這樣可以大大提高服務(wù)器的運(yùn)行效率,還可以給用戶很好的訪問體驗(yàn)。所以部署Nginx的負(fù)載均衡很重要。
這時(shí)需要將Nginx的配置文件進(jìn)行修改
上面的是單臺服務(wù)器的部署情況。如果是多臺服務(wù)器的話,需要將server的地址更改為項(xiàng)目服務(wù)器的真實(shí)地址。
好了,以上就是Nginx的部署情況,如果有什么不明白的地方,歡迎關(guān)注我,進(jìn)行留言評論。






