国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx 安裝與配置規則入門詳解

2024-08-30 12:30:16
字體:
來源:轉載
供稿:網友

一、nginx 安裝與運行 (Mac OS環境)

1. 安裝 nginx

可通過 Homebrew 可直接安裝:

$brew install nginx

安裝好后,默認首頁的文件在 /usr/local/var/www 文件夾下

默認的配置文件地址在 /usr/local/etc/nginx/nginx.conf

Nginx,安裝,配置規則

nginx 默認用的 8080 端口,如果發現端口被占用了(通過 $lsof -i:8080查看端口占用情況),可以殺掉使用該端口的進程($kill 進程PID)。或者修改 nginx 的默認端口(/usr/local/etc/nginx/nginx.conf )

Nginx,安裝,配置規則

2. 啟動 nginx

$brew services start nginx

或者進入到目錄 /usr/local/bin 下$./nginx

啟動成功后,瀏覽器訪問http://localhost:8080/,就可以看到 nginx 服務器返回的靜態資源了(默認是資源/usr/local/var/www/index.html)

3. 停止 nginx

$nginx -s stop

4. 重啟 nginx

$nginx -s reload

5. 查看 nginx 配置路徑信息

$brew info nginx

二、nginx 規則配置

更多配置可查看

https://www.nginx.com/resources/wiki/start/#pre-canned-configurations

http://nginx.org/en/docs/

http://www.nginx.cn/doc/

1. location

location 語法文章

Nginx,安裝,配置規則

2. root 與 alias

nginx 中可通過 root 和 alias 指定資源的訪問路徑。

1)root:

location / {  root  /usr/local/var/www/;  index index.html index.htm;}

上面這個規則:請求 http://localhost:8080/index.html 這個地址時,訪問的資源是: /usr/local/var/www/index.html.

請求 http://localhost:8080/test/a.png 這個地址時,訪問的資源是: /usr/local/var/www/test/a.png.

也就是說,訪問的資源地址其實是 root 指定的路徑 + location 匹配到的路徑。

2)alias:

alias 即別名,與 root 的匹配規則稍有不同。

location /a/ {  alias  /usr/local/var/www/b/;}

上面這個規則:請求 http://localhost:8080/a/ 這個地址時,訪問的資源是: /usr/local/var/www/b/index.html.

請求 http://localhost:8080/a/1.gif 這個地址時,訪問的資源是: /usr/local/var/www/b/1.gif.

也就是說,訪問的資源地址就是 alias 指定的路徑,與 location 匹配到的路徑無關(會把 location 匹配到的路徑丟掉)。

3)root 與 alias 的區別:

alias 只能作用在 location 中,而 root 可以存在 server、http 和 location 中。

alias 后面必須要用 “/” 結束,否則會找不到文件,而 root 則對 “/” 可有可無。

3. try_file

location /test/ {  try_files $uri $uri/ /a/1.png;}

try_files 去嘗試到網站目錄讀取用戶訪問的文件,如果第一個變量存在,就直接返回;不存在則繼續讀取第二個變量,如果存在,直接返回;不存在則跳轉到第三個參數上。

$uri 是 nginx 的一個變量,存放著用戶訪問的地址。比如訪問http://www.xxx.com/index.html,/$uri就是 /index.html.

$uri/ 代表訪問的是一個目錄,比如:http://www.xxx.com/hello/test/ ,那么/$uri/ 就是 /hello/test/.

例如上面這條規則:請求 http://localhost:8080/test/2.png 這個地址時,try_files 會判斷他是文件,還是一個目錄,結果發現他是文件,與第一個參數 $uri 變量匹配。然后去到網站目錄下去查找 test/2.png 文件是否存在,如果存在直接讀取返回。如果不存在則跳轉到第三個參數,即返回網站根目錄 + /a/1.png 文件(/usr/local/var/www/a/1.png)。

4. rewrite

rewrite 語法

rewrite 功能就是實現 url 重寫以及重定向。

語法rewrite regex replacement [flag];

rewrite只能放在server{},location{},if{}中,并且只能對域名后邊的除去傳遞的參數外的字符串起作用,例如 http://www.xxx.com/a/b/index.html?param=1&u=str 只對 /a/b/index.html 重寫。

rewrite 的執行順序:

  • 執行server塊的rewrite指令
  • 執行location匹配
  • 執行選定的location中的rewrite指令

flag 標志位:

  • last : 相當于Apache的[L]標記,表示完成rewrite
  • break : 停止執行當前虛擬主機的后續 rewrite 指令集
  • redirect : 返回302臨時重定向,地址欄會顯示跳轉后的地址
  • permanent : 返回301永久重定向,地址欄會顯示跳轉后的地址
location /home/ {  rewrite ^/home/test/ http://www.baidu.com;}

上面這個規則:訪問 http://localhost:8080/home/test/ 這個地址時,頁面會重定向到 http://www.baidu.com。

一些小tips:

如何 nginx 重定向 url,但不改變瀏覽器中 url 的顯示?

proxy_pass 可指定反向代理

三、一些命令行的配置(mac OS)

1. 如何在命令行用 vscode 打開文件

cd /usr/local/bin/ln -s "/Applications/Visual Studio Code.app/Contents/MacOS/Electron" vscode

其中 /Applications/Visual Studio Code.app/Contents/MacOS/Electron 為 vscode 的可執行文件,ln -s 命令就是將其通過軟連接的方式放到 /usr/local/bin/ 目錄下。這樣就可以在命令行的其他地方通過 vscode 命令打開文件了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平远县| 化隆| 辰溪县| 伊川县| 余干县| 宁都县| 天津市| 公主岭市| 化德县| 四平市| 襄垣县| 安顺市| 酒泉市| 桐柏县| 和林格尔县| 富民县| 新闻| 涞源县| 怀来县| 剑河县| 虹口区| 乌拉特前旗| 巴彦县| 陵川县| 台州市| 长乐市| 丰城市| 南宁市| 瓦房店市| 治县。| 蕲春县| 南部县| 石楼县| 香港| 富顺县| 康乐县| 灵川县| 鸡西市| 通州市| 宣城市| 浦北县|