Nginx的啟動安裝和常用配置例子

2021-10-06 22:15:20 字數 4086 閱讀 1399

由於自己的之前學習 nginx 只會簡單使用,然後每次配置 nginx 都要找文件去了解怎麼配置,有點麻煩,所以這裡記錄下一些常用的nginx 配置和配置的例子,到時候直接 copy 修改即可

nginx 的主要功能為 靜態檔案的伺服器、負載均衡、重寫或重定向url、正向**、反向** 等。

這裡使用的 nginx 版本為 1.16.0

配置檔案的主要結構為:

# 服務配置1,我們一般只要修改這裡的資訊即可

server

} # 這個 server 是服務配置2

server

} # includ 用來引入 nginx 在其他目錄的配置檔案,一般正式的公司專案會這樣使用,並以每個網域名稱或 server 塊分成每個配置檔案。

include cust_conf/mainconf; # 加多乙個確定的檔案,這樣找不到檔案的時候會報錯,以免配置錯目錄

includ /data/host/config/*.conf;

}window 啟動

cmd命令進入安裝檔案;

1、啟動:c:\server\nginx-1.0.2>start nginxc:\server\nginx-1.0.2>nginx.exe

注:建議使用第一種,第二種會使你的cmd視窗一直處於執行中,不能進行其他命令操作。

參考:nginx 命令列引數

不像許多其他軟體系統,nginx 僅有幾個命令列引數,完全通過配置檔案來配置

-c為 nginx 指定乙個配置檔案,來代替預設的。

-t不執行,而僅僅測試配置檔案。nginx 將檢查配置檔案的語法的正確性,並嘗試開啟配置檔案中所引用到的檔案。用法:nginx -t, 這個命令也可以檢視nginx檔案的所在位置。

-v顯示 nginx 的版本。

-v顯示 nginx 的版本,編譯器版本和配置引數。

通過執行 nginx 的可執行檔案可以直接啟動 nginx。只要 nginx 啟動了,則可以通過執行 nginx 加-s引數來控制 nginx 的一些行為。用法如下:

nginx -s $
$ 可以為以下四個值:

前端檔案或者服務的部署,一般會使用到這個功能,通過 nginx 伺服器來分發(sering out)檔案,然後使用者從網路上能夠通過 ip 或 網域名稱直接訪問到

1. 實現訪問 stats-server.kanlon.com 實現將/data/fr下的目錄作為靜態檔案訪問

server 

location /

}

如果訪問出現錯誤,可以看一下 logs/error.log 的錯誤日誌,這裡會列印出實際訪問的檔案路徑。還有測試 nginx 的時候一定要注意是否啟動了多個 nginx 否則可能更改了配置會以為自己設定錯誤不生效的(沉重教訓)

通過 nginx 可以實現將請求自動**都自己的指定的服務網域名稱上,減少單台服務請求量和實現服務的高可用。

nginx 上預設是通過 ngx_http_upstream_module 模組實現

1. 配置訪問 load-balancing-test.kanlon.com:83 則負載均衡到指定三個網域名稱上

其中 要求load-balancing-test-3.kanlon.com:86作為備份服務,load-balancing-test.kanlon.com-1:84 和load-balancing-test-2.kanlon.com:85 的請求數分布比例為 1:2

# 配置健康檢查,當為502,503,504,404的時候表示服務不可用,60秒內有兩個這樣的失敗請求則負載到另乙個服務上

}

其中的包含了一些 nginx 的健康檢查的指令

max_fails=number設定nginx與伺服器通訊的嘗試失敗的次數。在fail_timeout引數定義的時間段內,如果失敗的次數達到此值,nginx就認為伺服器不可用。在下乙個fail_timeout時間段,伺服器不會再被嘗試。 失敗的嘗試次數預設是1。設為0就會停止統計嘗試次數,認為伺服器是一直可用的。 你可以通過指令proxy_next_upstream、fastcgi_next_upstream和 memcached_next_upstream來配置什麼是失敗的嘗試。 預設配置時,http_404狀態不被認為是失敗的嘗試。

fail_timeout=time設定伺服器被認為不可用的時間段以及統計失敗嘗試次數的時間段。在這段時間中,伺服器失敗次數達到指定的嘗試次數,伺服器就被認為不可用。

nginx 可以將匹配的 url 重定向到另外的 url 去,包含改變位址

指定位址重定向

rewrite-local.kanlon.com/rewrite/same/site/**重定向到rewrite-local.kanlon.com/rewrite2/same/site/**和 將rewrite-local.kanlon.com/rewrite/other/site重定向到rewrite-other.kanlon.com/rewrite2/same/site

server 

# **到另外的網域名稱,如果要 重定向,; 前面加上 permanent (永久重定向 301 即可),預設為 302 臨時重定向

location /rewrite/other/site

location /rewrite2/same/site

location /

}server

location /

}

正向**,就是好像我們平常使用的 vpn 那樣,我們的訪問的網域名稱不會變,只不過通過 nginx 來幫我們傳送請求和接收請求,並返回自己客戶端。nginx 預設支援 http 協議的正向**,如果要支援 https 需要安裝元件。

nginx 配置如下:

server 

}

然後,再在自己電腦上配置**伺服器和埠,即可完成正向**。

反向**,則直接訪問 nginx 的網域名稱來替代訪問自己原來的要訪問資源的網域名稱,然後得到原資源的網域名稱返回的結果

server 

}

有時候我們想讓訪問靜態html檔案的時候,需要隱藏掉字尾.html,可以像下面這樣配置

server 

location /

root /data/nginx_static;}}

這樣的話,假設專案根目錄下有login.html檔案,原只能通過訪問127.0.0.1/login.html訪問到,設定之後,通過127.0.0.1/login或者127.0.0.1/login.html都能訪問到

nginx 官方文件

nginx 中文文件

nginx官網翻譯

windows下nginx的啟動、停止、重啟等命令

nginx正向**與反向**

nginx 常見正則匹配符號表示

nginx實戰系列之功能篇----後端節點健康檢查

nginx 視覺化介面配置

讓nginx上的靜態網頁在訪問的時候沒有html字尾

Nginx的安裝和啟動

1.c語言的環境 yum y install gcc c 2.安裝 pcre 環境pcre 的壓縮包 wget 2.解壓壓縮包 tar zxvf pcre 8.37.tar.gz 如指定則 tar zxvf pcre 8.37.tar.gz c usr local 3.跳轉到 pcre 的目錄下 找...

Nginx安裝和啟動

首先需要安裝乙個叫 epel release 的軟體包,這個軟體包會自動配置yum的軟體倉庫。當然你也可以不安裝這個包,自己配置軟體倉庫也是一樣的。yum install epel release yepel源 是什麼?為什麼安裝?epel extra packages for enterprise...

Nginx安裝啟動 與配置 https

安裝必備外掛程式 yum y install gcc automake autoconf libtool make yum install gcc gcc c yum方式安裝openssl pcre zlib make make installnginx安全證書生成 openssl genrsa o...