Nginx快速入門

2022-03-12 09:00:54 字數 3596 閱讀 2261

【一句話總結】nginx快速入門:在乙個新安裝的linux系統上安裝並使用nginx。

192.168.0.1:801【後台管理服務admin.myhome.com】   

192.168.0.1:18001【服務img.myhome.com】  

192.168.0.1:18002【音訊服務music.myhome.com】

一般來說,我們通過ip:port即可訪問該服務,但是,這裡希望可以只輸入網域名稱即可訪問。 比如admin.myhome.com 就進入後台管理。

1.修改本機hosts檔案  192.168.0.1 admin.myhome.com img.myhome.com  music.myhome.com   這樣,當訪問這三個網域名稱時都會對映到該ip

2.網域名稱解析與訪問

admin.myhome.com:801 會被解析為192.168.0.1:801,即可訪問後台管理系統

img.myhome.com:18001 會被解析為192.168.0.1:18001,即可訪問服務

music.myhome.com:18002  會被解析為192.168.0.1:18002,即可訪問音訊服務

【當然,如果不在hosts檔案裡寫這些網域名稱對應的ip,那麼它就會通過本機的dns網域名稱解析在網路上尋找對應網域名稱並訪問。hosts檔案裡的localhost或127.0.0.1都是代表本機】

為什麼要使用反向**:專案一般都有開發、生產、預發布等多個環境,如果不同環境使用不同的ip去訪問,可能會出現一些問題。

為了保證所有環境的一致,我們會在各種環境下都使用網域名稱來訪問。

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel  一次性把這幾個環境都安裝完畢 -y則不再需要去手動確定,都選擇預設安裝即可
開啟終端面板,先使用【cd /urs/local】

再使用指令【tar -zxvf nginx-1.8.1.tar.gz】解壓縮。

此時local資料夾下有該壓縮包,還有解壓後的檔案

先用【cd nginx-1.8.1】進入解壓後的資料夾,再用【./configure --prefix=/usr/local/nginx】配置

先執行【make】,再執行【make install】,則此時已安裝完成,local資料夾下多了乙個【nginx資料夾,即安裝好的nginx】

這裡,可以用小寫的ls或ll來檢視當前資料夾下都有什麼。

安裝完之後usr/local下有【nginx-1.8.1.tar.gz】【nginx-1.8.1】 【nginx】三個資料夾,前兩個都可以刪除。

這裡,可以先用【ps -a | grep nginx】檢視nginx是否啟動 有返回結果則是已經啟動的,避免意外,需殺掉程序重啟nginx。

然後,【lsof -i:80】檢視80埠占用   【kill -9 埠號】 關閉此埠

在linux中啟動瀏覽器,並訪問localhost,即可訪問【localhost:80】,則會彈出ningx的歡迎介面

【./nginx -s reload】重啟nginx  【/usr/local/nginx/sbin/nginx】在任意目錄下時啟動nginx 

【./nginx】在sbin目錄下時啟動nginx 【ps -a | grep nginx】檢視nginx是否啟動 有返回結果則是已經啟動的   

【lsof -i:80】檢視80埠占用   【kill -9 埠號】 關閉此埠

報【could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: no such file or directory)】錯

則【cd /usr/loca/nginx/】到nginx目錄下 【mkdir logs】建立日誌資料夾  【chmod 700 logs

】設定該資料夾logs的讀寫許可權

解決方案一:先永久開放80埠

【firewall-cmd --permanent --add-port=80/tcp】  

再重啟防火牆

【firewall-cmd --reload】

解決方案二:用【vi /etc/sysconfig/iptables】開啟ip埠配置檔案,在裡面新增開放80埠的設定

-a input -p tcp -m state --state new -m tcp --dport 80 -j accept

參考:開放80埠以及殺掉占用80埠的程序、

可能問題:啟動防火牆時出現unit is masked錯誤,則在這取消防火牆鎖定

【systemctl unmask firewalld】-->

而後期如有需要用【systemctl mask firewalld】鎖定防火牆

常用指令:systemctl status firewalld檢視防火牆狀態    systemctl start firewalld開啟防火牆  

systemctl stop firewalld關閉防火牆

解決方案一:selinux配置將http網路連線關閉,啟用即可【setsebool -p httpd_can_network_connect 1】 參考網

解決方案二:直接關閉seliunx配置  進入【vi/etc/selinux/config】 修改【selinux=disabled】   參考網

【cd /usr/local/nginx/

conf】進入配置資料夾 --->開啟【nginx.conf】檔案 ---> 新增配置

# 服務的**

49server 60}

6162

# 音訊服務的**

63server 74}

7576

# 初始的** localhost 有這個nginx才能訪問自己主頁 不然就會404

77server

88 #error_page 404頁面的處理 /404.html;

89 # redirect server error pages to the static page /50x.html

90 error_page 500 502 503 504 /50x.html;

91 location = /50x.html 94}

9596 }

nginx的**配置nginx.conf

Nginx快速入門

nginx是乙個高效能,高併發的web伺服器 http反向 伺服器。它的作用是可以部署靜態web資源,給應用伺服器做反向 並能實現負載均衡。說到這裡,nginx的核心是反向 那什麼是反向 有反向是不是必定有正向 客戶端通過 伺服器 訪問應用服務,這叫正向 也就是 伺服器 的物件是客戶端。比如國內的電...

nginx快速入門

高效能http和反向 伺服器,專為效能優化開發,支援高併發 反向 負載均衡 動靜分離使用nginx命令,需要進入 usr local nginx sbin 檢視版本號 nginx v 啟動nginx nginx 關閉nginx nginx s stop 查詢程序 ps ef grep nginx 位...

nginx學習二 快速入門

開源 高效能 支援海量併發 可靠 服務穩定 輕量 占用資源少 http web 服務 服務 負載均衡 常見的 http web 服務 由apache 會 iis 微軟伺服器版 gws google開發 openrestry 基於 nginx lua tengline 基於 nginx 開發 在 ng...