前端與Nginx的不解之緣——Nginx配置和Code部署

nginx.png

這是我參與新手入門的第一篇文章html

人的一輩子總會與不一樣的人或者不一樣的物結下不解之緣,而與咱們前端開發結下不解之緣的就有Nginx。
這篇文章不會告訴你詳細的使用,只會讓你完成Nginx環境的配置和項目代碼的部署,我想這足以知足大部分人的需求。
複製代碼

簡單瞭解 Nginx

Nginx 究竟是什麼?前端

  • Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。
  • Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。

Nginx 特色:ios

  • 佔有內存少
  • 併發能力強

Nginx 說白了就是咱們前端須要部署代碼的服務器,在這個服務器上咱們能夠兩件事:1.獲取數據的時候,能夠對請求地址進行代理配置;2.把代碼放在這個服務器上,別人就能夠經過地址來訪問咱們的項目。 固然這個有個前提:網絡環境要容許別人訪問。nginx

Nginx 環境配置

Windows 系統下,咱們能夠隨便放在一個位置,解壓文件夾,經過雙擊nginx.exe啓動,此過程簡單易學,就不加以贅述。下面是Linux系統的配置狀況:c++

安裝依賴

俗話說,工欲善其事,必先利其器。在環境配置以前咱們要下載好須要的依賴。web

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
複製代碼

下載壓縮包(nginx的某個版本.tar.gz),Nginx 下載地址axios

建議下載穩定版本(Stable version),下面所講內容以nginx-1.18.0爲例
複製代碼

安裝步驟

  1. 進入到安裝目錄
cd /usr/local
複製代碼
  1. 上傳文件,選擇下載的壓縮包
rz
複製代碼
  1. 解壓壓縮包
tar -zxvf nginx-1.18.0.tar.gz
複製代碼
  1. 進入解壓後的文件夾
cd nginx-1.18.0
複製代碼
  1. 明確接下來編譯文件的安裝位置
./configure --prefix=/usr/local/nginx-1.18.0
複製代碼
  1. 編譯
make
make install
複製代碼

編譯成功會出現sbin文件夾,若未出現,需檢查是否報錯。vim

啓動服務

進入sbin文件夾,啓動服務api

cd sbin	
./nginx
複製代碼

執行以上命令後,一般會報如下錯誤,表示缺乏日誌文件。bash

nginx:  open() "/usr/local/nginx-1.18.0/logs/error.log" failed (2: No such file or directory)
open() "/usr/local/nginx-1.18.0/logs/access.log" failed (2: No such file or directory)
複製代碼

解決方案以下(經過以上報錯,咱們須要回退到nginx-1.18.0文件夾):

mkdir logs		建立logs文件夾
touch error.log		建立error.log文件
touch access.log	建立access.log文件
複製代碼

再次進入 sbin 文件夾,輸入 ./nginx 後就啓動成功了。

代理配置

  1. 配置步驟
cd /usr/local/nginx-1.18.0/conf    
vim nginx.conf		編輯nginx.conf文件
按鍵盤 a 鍵		開始編輯
按鍵盤 esc 鍵	        退出編輯
:wq			保存並退出
複製代碼
  1. 配置內容(sever裏面的部分配置,但這些足以知足大多數人的需求)
server {
	# 端口號修改
        listen       8088;
        
	# 域名修改 默認:localhost
        server_name  xxx.yyy.com;

        location / {
            root   html;
            index  index.html index.htm;
        }

        # 配置代理 
	# /var 發送請求以此開頭 例:axios.get(/var/api路徑)  var是個變量,能夠取任意名字
	# http://ip:port 代理地址
        location /var {
            rewrite  ^.+var/?(.*)$ /$1 break;
            include  uwsgi_params;
            proxy_pass   http://ip:port;
        }
}
複製代碼
  1. 驗證配置是否正確
cd /usr/local/nginx-1.18.0/sbin
./nginx -t
複製代碼

如出現如下信息,則表示配置成功,不然須要檢查錯誤緣由

nginx.conf syntax is ok
nginx.conf test is successful
複製代碼

Code 部署

  1. 首先找到部署目錄
cd /usr/local/nginx-1.18.0/html
或
利用文件傳輸工具直接進入
複製代碼
  1. 部署代碼
rz   上傳項目壓縮包 xxx.zip
unzip xxx.zip
複製代碼

總結

  1. 若是缺乏命令,須要下載對應的命令
  2. 經常使用的 Nginx 命令
./nginx -s stop			中止
./nginx -s quit			退出
./nginx -s reload		重啓加載
複製代碼
  1. 我實際碰到的問題,但願能夠給你帶來參考
  • ping ip 機器是否能夠ping通訪問機器
  • 防火牆 端口號是否容許被訪問,默認80有防火牆設置
  • 最基礎的一點:ip地址有沒有配置到可訪問虛擬機上,好比阿里雲,華爲雲等。!!!我當時由於這個緣由校驗了好久,其餘的配置都是通的,而後外部機器不能訪問,後來被通知,ip沒有配置。
相關文章
相關標籤/搜索