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