摘要:我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網站,難免要接觸。創建軟鏈接假如我們每個網站程序放在一個文件夾里,該程序的配置文件也應該放在這個文件夾里才方便管理。
我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網站,難免要接觸 nginx。
那么我用 nginx 來干嘛呢:
靜態資源反向代理
將域名泛解析到服務器之后,通過 nginx 來給不同的二級域名分配服務器上的程序。
1、安裝 nginx 1.1、centos7yum install -y nginx1.2、windows
到官網下載,安裝包,解壓即可使用:官網
1.3、centos7 中 nginx 常用命令# 開機啟動 systemctl enable nginx.service # 啟動 systemctl start nginx.service # 使用某個配置文件啟動(要先關閉 ngxin,不然會報錯的) nginx -c /etc/nginx/nginx.conf # 關閉(如果這樣關閉不了的話,就把 nginx 進程給殺掉) nginx -s stop # 查看 nginx 的進程 id ps -ef | grep nginx # 殺死進程(比如殺死進程1234) kill -9 1234
nginx 的默認配置文件是:/etc/nginx/nginx.conf
這個配置文件會自動讀取:/etc/nginx/conf.d/ 文件夾下的所有 .conf 文件。
假如你寫了個網站,需要用到 nginx ,那么你就把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,然后重啟 nginx 就行了:
nginx -s stop nginx -c /etc/nginx/nginx.conf2、nginx 配置(反向代理設置 & 二級域名) 2.1 配置文件
假設我們有兩個網站:
www.example.com
blog.example.com
它們分別有兩個 ngxin 配置文件放在:
/home/www.example.com/www.example.com.nginx.conf
/home/blog.example.com/blog.example.com.nginx.conf
服務器對外開放 80 端口,兩個網站對應的程序端口分別為:
www.example.com 程序 8000 www.example.com 靜態資源 8080 blog.example.com 程序 8001 blog.example.com 靜態資源 8081
那么他們的配置內容分別為:
# /home/www.example.com/www.example.com.nginx.conf server { # 服務器對外只監聽 80 端口 listen 80; # 當 80 端口監聽到了來自 www.example.com 的請求 server_name www.example.com; # 那么把這個請求轉到 http://localhost:8080 location / { proxy_pass http://localhost:8080; } } server { # 監聽到 8080 端口有人發起請求(其實就是上面轉過來的↑,用戶不能直接訪問 8080 端口的) listen 8080; # 只允許本機訪問 server_name localhost; # 程序根目錄 root /home/www.example.com; # 默認的網頁文件 index index.html index.htm; # 匹配所有 uri (如果 url 為:http://www.example.com/hehe,那么 uri 為:/hehe) location / { # 我們的程序實際上是在 8000 端口上 proxy_pass http://localhost:8000$request_uri; # 下面這一大堆,欲知詳情自己查 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } # 匹配首頁 location = / { proxy_pass http://localhost:8000; } # 匹配 /**.** 結尾的 uri,并且不是 /**.html、/**.htm location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ { # 匹配到的都定位到靜態資源目錄里 root /home/www.example.com/static; etag on; expires max; } }
# /home/blog.example.com/blog.example.com.nginx.conf server { # 服務器對外只監聽 80 端口 listen 80; # 當 80 端口監聽到了來自 blog.example.com 的請求 server_name blog.example.com; # 那么把這個請求轉到 http://localhost:8081 location / { proxy_pass http://localhost:8081; } } server { # 監聽到 8081 端口有人發起請求(其實就是上面轉過來的↑,用戶不能直接訪問 8081 端口的) listen 8081; # 只允許本機訪問 server_name localhost; # 程序根目錄 root /home/blog.example.com; # 默認的網頁文件 index index.html index.htm; # 匹配所有 uri (如果 url 為:http://blog.example.com/hehe,那么 uri 為:/hehe) location / { # 我們的程序實際上是在 8001 端口上 proxy_pass http://localhost:8001$request_uri; # 下面這一大堆,欲知詳情自己查 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } # 匹配首頁 location = / { proxy_pass http://localhost:8001; } # 匹配 /**.** 結尾的 uri,并且不是 /**.html、/**.htm location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ { # 匹配到的都定位到靜態資源目錄里 root /home/blog.example.com/static; etag on; expires max; } }
注意看兩個配置的區別。
2.2 創建軟鏈接假如我們每個網站程序放在一個文件夾里,該程序的 nginx 配置文件也應該放在這個文件夾里才方便管理。但前面提到,我們需要把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,怎樣才能使這個配置文件既在程序文件夾下,又在 /etc/nginx/conf.d/文件夾下呢?
假如我們在程序文件夾下有一個 ngxin 配置文件:/home/www.example.com/www.example.com.nginx.conf
我們需要給這個文件創建一個軟鏈接到 /etc/nginx/conf.d/ 下:
ln -s /home/example/example.nginx.conf /etc/nginx/conf.d/www.example.com.nginx.conf
這樣操作之后,當我們改程序文件夾下的配置文件,/etc/nginx/conf.d/ 下與之對應的配置文件也會被修改,修改后重啟 nginx 就能夠使新的 ngxin 配置生效了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39928.html
摘要:我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網站,難免要接觸。創建軟鏈接假如我們每個網站程序放在一個文件夾里,該程序的配置文件也應該放在這個文件夾里才方便管理。 我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網站,難免要接觸 nginx。 那么我用 nginx 來干嘛呢: 靜態資源反向代理 將域名泛解析到服務器之后,通過 nginx 來給不同的二級域名分配服務器...
摘要:微信年月日發公告稱,個人主體注冊公眾號數量上限由個調整為個。大家都知道每個微信公眾號在進行開發時,授權回調的域名只能設置一個,正常的開發一般一套環境就對應一個域名。 微信2018年11月16日發公告稱,個人主體注冊公眾號數量上限由2個調整為1個。企業類主體注冊公眾號數量上限由5個調整為2個。這個對馬上要注冊公眾號的企業來說頓時心情不好了。 大家都知道每個微信公眾號在進行開發時,授權回調...
摘要:提高代碼可讀性掌握這些就夠了今天看到一篇關于代碼優化的文章寫得十分實用在學習總結后梳理出思維結構圖將收貨的分享一下原作者方應杭原文地址注意這篇文章所指的代碼優化特指的是代碼可讀性方面的一些寫法優化而不是指的性能優化。 提高代碼可讀性,掌握這些就夠了 今天看到一篇關于代碼優化的文章,寫得十分實用,在學習總結后,梳理出思維結構圖,將收貨的分享一下 原作者:方應杭 原文地址:https://...
閱讀 683·2021-11-22 09:34
閱讀 3822·2021-09-22 15:42
閱讀 1327·2021-09-03 10:28
閱讀 1072·2021-08-26 14:13
閱讀 1901·2019-08-29 15:41
閱讀 1423·2019-08-29 14:12
閱讀 3364·2019-08-26 18:36
閱讀 3307·2019-08-26 13:47