摘要:我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個網(wǎng)站程序放在一個文件夾里,該程序的配置文件也應該放在這個文件夾里才方便管理。
我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網(wǎng)站,難免要接觸 nginx。
那么我用 nginx 來干嘛呢:
靜態(tài)資源反向代理
將域名泛解析到服務器之后,通過 nginx 來給不同的二級域名分配服務器上的程序。
1、安裝 nginx 1.1、centos7yum install -y nginx1.2、windows
到官網(wǎng)下載,安裝包,解壓即可使用:官網(wǎng)
1.3、centos7 中 nginx 常用命令# 開機啟動 systemctl enable nginx.service # 啟動 systemctl start nginx.service # 使用某個配置文件啟動(要先關(guān)閉 ngxin,不然會報錯的) nginx -c /etc/nginx/nginx.conf # 關(guān)閉(如果這樣關(guān)閉不了的話,就把 nginx 進程給殺掉) nginx -s stop # 查看 nginx 的進程 id ps -ef | grep nginx # 殺死進程(比如殺死進程1234) kill -9 1234
nginx 的默認配置文件是:/etc/nginx/nginx.conf
這個配置文件會自動讀?。?b>/etc/nginx/conf.d/ 文件夾下的所有 .conf 文件。
假如你寫了個網(wǎng)站,需要用到 nginx ,那么你就把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,然后重啟 nginx 就行了:
nginx -s stop nginx -c /etc/nginx/nginx.conf2、nginx 配置(反向代理設(shè)置 & 二級域名) 2.1 配置文件
假設(shè)我們有兩個網(wǎng)站:
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 端口,兩個網(wǎng)站對應的程序端口分別為:
www.example.com 程序 8000 www.example.com 靜態(tài)資源 8080 blog.example.com 程序 8001 blog.example.com 靜態(tài)資源 8081
那么他們的配置內(nèi)容分別為:
# /home/www.example.com/www.example.com.nginx.conf server { # 服務器對外只監(jiān)聽 80 端口 listen 80; # 當 80 端口監(jiān)聽到了來自 www.example.com 的請求 server_name www.example.com; # 那么把這個請求轉(zhuǎn)到 http://localhost:8080 location / { proxy_pass http://localhost:8080; } } server { # 監(jiān)聽到 8080 端口有人發(fā)起請求(其實就是上面轉(zhuǎn)過來的↑,用戶不能直接訪問 8080 端口的) listen 8080; # 只允許本機訪問 server_name localhost; # 程序根目錄 root /home/www.example.com; # 默認的網(wǎng)頁文件 index index.html index.htm; # 匹配所有 uri (如果 url 為:http://www.example.com/hehe,那么 uri 為:/hehe) location / { # 我們的程序?qū)嶋H上是在 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; } # 匹配 /**.** 結(jié)尾的 uri,并且不是 /**.html、/**.htm location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ { # 匹配到的都定位到靜態(tài)資源目錄里 root /home/www.example.com/static; etag on; expires max; } }
# /home/blog.example.com/blog.example.com.nginx.conf server { # 服務器對外只監(jiān)聽 80 端口 listen 80; # 當 80 端口監(jiān)聽到了來自 blog.example.com 的請求 server_name blog.example.com; # 那么把這個請求轉(zhuǎn)到 http://localhost:8081 location / { proxy_pass http://localhost:8081; } } server { # 監(jiān)聽到 8081 端口有人發(fā)起請求(其實就是上面轉(zhuǎn)過來的↑,用戶不能直接訪問 8081 端口的) listen 8081; # 只允許本機訪問 server_name localhost; # 程序根目錄 root /home/blog.example.com; # 默認的網(wǎng)頁文件 index index.html index.htm; # 匹配所有 uri (如果 url 為:http://blog.example.com/hehe,那么 uri 為:/hehe) location / { # 我們的程序?qū)嶋H上是在 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; } # 匹配 /**.** 結(jié)尾的 uri,并且不是 /**.html、/**.htm location ~* ^.+/[^/]+(?=.)([^/](?!(html|htm)))+$ { # 匹配到的都定位到靜態(tài)資源目錄里 root /home/blog.example.com/static; etag on; expires max; } }
注意看兩個配置的區(qū)別。
2.2 創(chuàng)建軟鏈接假如我們每個網(wǎng)站程序放在一個文件夾里,該程序的 nginx 配置文件也應該放在這個文件夾里才方便管理。但前面提到,我們需要把配置文件丟到 /etc/nginx/conf.d/ 文件夾下,怎樣才能使這個配置文件既在程序文件夾下,又在 /etc/nginx/conf.d/文件夾下呢?
假如我們在程序文件夾下有一個 ngxin 配置文件:/home/www.example.com/www.example.com.nginx.conf
我們需要給這個文件創(chuàng)建一個軟鏈接到 /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 配置生效了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/94725.html
摘要:我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個網(wǎng)站程序放在一個文件夾里,該程序的配置文件也應該放在這個文件夾里才方便管理。 我備案了個域名,買了一個阿里云服務器,想要搭建幾個自己的網(wǎng)站,難免要接觸 nginx。 那么我用 nginx 來干嘛呢: 靜態(tài)資源反向代理 將域名泛解析到服務器之后,通過 nginx 來給不同的二級域名分配服務器...
摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮ο髣?chuàng)建模式繼承嚴格模式與對象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡化對象寫法剪頭函數(shù)三點運算符模板字符串形參默認值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮ο髣?chuàng)建模式繼承——————Es5嚴格模式Json與j...
摘要:及相關(guān)問題數(shù)據(jù)類型函數(shù)中指向原型作用域閉包面向?qū)ο髮ο髣?chuàng)建模式繼承嚴格模式與對象轉(zhuǎn)換的方法添加屬性,根據(jù)原型創(chuàng)建區(qū)別新特性解構(gòu)賦值簡化對象寫法剪頭函數(shù)三點運算符模板字符串形參默認值異步過程深拷貝與淺拷貝賦值與淺拷貝的區(qū)別淺拷貝的幾種方法實現(xiàn) js及es相關(guān)問題 數(shù)據(jù)類型函數(shù)中this指向——————原型作用域閉包——————面向?qū)ο髮ο髣?chuàng)建模式繼承——————Es5嚴格模式Json與j...
摘要:微信年月日發(fā)公告稱,個人主體注冊公眾號數(shù)量上限由個調(diào)整為個。大家都知道每個微信公眾號在進行開發(fā)時,授權(quán)回調(diào)的域名只能設(shè)置一個,正常的開發(fā)一般一套環(huán)境就對應一個域名。 微信2018年11月16日發(fā)公告稱,個人主體注冊公眾號數(shù)量上限由2個調(diào)整為1個。企業(yè)類主體注冊公眾號數(shù)量上限由5個調(diào)整為2個。這個對馬上要注冊公眾號的企業(yè)來說頓時心情不好了。 大家都知道每個微信公眾號在進行開發(fā)時,授權(quán)回調(diào)...
摘要:提高代碼可讀性掌握這些就夠了今天看到一篇關(guān)于代碼優(yōu)化的文章寫得十分實用在學習總結(jié)后梳理出思維結(jié)構(gòu)圖將收貨的分享一下原作者方應杭原文地址注意這篇文章所指的代碼優(yōu)化特指的是代碼可讀性方面的一些寫法優(yōu)化而不是指的性能優(yōu)化。 提高代碼可讀性,掌握這些就夠了 今天看到一篇關(guān)于代碼優(yōu)化的文章,寫得十分實用,在學習總結(jié)后,梳理出思維結(jié)構(gòu)圖,將收貨的分享一下 原作者:方應杭 原文地址:https://...
閱讀 3314·2023-04-26 02:27
閱讀 2192·2021-11-22 14:44
閱讀 4188·2021-10-22 09:54
閱讀 3243·2021-10-14 09:43
閱讀 804·2021-09-23 11:53
閱讀 13124·2021-09-22 15:33
閱讀 2770·2019-08-30 15:54
閱讀 2766·2019-08-30 14:04