摘要:這樣就能通過不同的子域名來訪問不同的應用了大致的結構本質上就是負責轉發進來的請求,那么轉發的依據就是判斷不同的子域名第一步當然是安裝,各個平臺不太一樣,也沒法分享了。
最近搗鼓了不少時間,起初想到要弄這個就是因為 node 直接起 server 的方式有點暴力,因為占用了 80 端口就是真的占用了,很難在用一個 80 端口掛多個 WebServer。你只能掛載在多個端口上,訪問起來后面還得加個端口,太丑了,所以摸索了一下,用 Nginx 配置了一個多服務結構。這樣就能通過不同的子域名來訪問不同的應用了!
大致的結構
本質上就是 nginx 負責轉發進來的請求,那么轉發的依據就是判斷不同的子域名
STEP 1 Install Nginx第一步當然是安裝 nginx,各個平臺不太一樣,也沒法分享了。我自己的 ubuntu 的環境
apt-get isntall nginxSTEP 2 Set DNS AND PORT
去你的域名管理商那里分配你想要的子域名,當然都是 A 記錄并全部解析到你的 VPS 公網 IP 上.
另外一個準備就是修改你所有的 NodeWebServer 的端口,可以按你的愛好設置,但是不要占用 80 以及 443 端口
STEP 3 nginx config Node.js切換到你的nginx 配置目錄
我的目錄位置
/etc/nginx/
這里要說明 nginx 是擁有 Include 機制的,他會自動加載 conf.d 目錄下的所有 _.conf_(默認配置下) ,所以我們并不需要修改 nginx.conf 文件。我們接下來需要在 conf.d 目錄下創建一系列的配置文件,文件名請使用你相應的工程名,比如 project1.conf
如果沒有請手動加入
include /etc/nginx/conf.d/*.conf; # include /etc/nginx/sites-enabled/*; // 最好給他注釋了 默認頁面沒啥用
開始編寫項目配置
cd conf.dtouch project1.conf
vim project1.conf
讓我們編寫詳細的轉發規則
// 這是一個NODE Web Server // 我已經將這個服務的端口改成了8000端口 // 當nginx捕獲到訪問域名為api.yinode.tech的時候 // 就會轉發到本地的8000端口 server{ server_name api.yinode.tech; listen 80; location / { # proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:8000$request_uri; proxy_redirect off; } }
如果你需要轉發 HTTPS,請復制一份上面的內容粘貼到下面,修改監聽端口為 443,轉發端口就是你監聽的 https 端口!
STEP 4 nginx config PHPphp 的轉發設置會稍有一些不同,(默認你已經安裝好了 PHP)
server { listen 80; root /var/www/longqiyoutian/wordpress; // 你的根目錄 index index.php; server_name dragon.yinode.tech; error_page 404 /404.html; location ~ .php$ { try_files $uri = 404; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; // 你的fpm地址 fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; // 必須填寫,注意順序 } }
逐個講解,首先我們的 Root 目錄會變的重要,Nginx 將會把這個目錄轉發給 FPM 來跑 PHP 代碼,所以不要寫錯了,第二是后面的轉發必須加上 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;這能引導 fpm 進行正確的地址拼接
TIPS:提醒
nginx 和 FPM 的默認啟動用戶都是 www-data,所以你的網站根目錄請務必修改所屬者為 www-data,并且不要將這個目錄放置到/root/ 下,會出現權限問題,最好復制到/var/www 目錄下,并設置所屬者!
STEP 5 Repeat重復 3 4 步驟,創建所有你需要的項目配置
STEP 6 Restart nginxservice nginx restart
如果出現報錯,仔細查看信息,去網上找,一般都是因為配置文件格式錯誤。
STEP 7 Run打開你的網站吧,應該可以正常運行了!以后新增 Server 其實也只要增加一個對應的 conf 文件,可以很方便的橫向擴展,并且整個網站訪問起來也會比較美觀!
最后 附上我的博客地址,可以來看看
Blog
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39942.html
摘要:這樣就能通過不同的子域名來訪問不同的應用了大致的結構本質上就是負責轉發進來的請求,那么轉發的依據就是判斷不同的子域名第一步當然是安裝,各個平臺不太一樣,也沒法分享了。 最近搗鼓了不少時間,起初想到要弄這個就是因為 node 直接起 server 的方式有點暴力,因為占用了 80 端口就是真的占用了,很難在用一個 80 端口掛多個 WebServer。你只能掛載在多個端口上,訪問起來后面...
摘要:本文將介紹如何在一臺的云服務器上快速部署博客站點,如何快速發布一篇博文并通過云服務器上的私有倉庫部署到服務器目錄下。此外,還要在云服務器上安裝和兩個必備的軟件包。在服務器上部署博客以下為文章正文。 推薦理由:Hexo 是用 Node.js 開發的一個靜態站點生成器(Static Site Generator),支持 Markdown 語法寫作,有著強大的插件系統,而且性能優異。下面我推...
摘要:上一篇文章第四章網站部署第二節靜態文件后臺運行一般調試過程中我們使用運行網站,方便我們在命令行中看運行狀況。默認情況下,會監控子進程,并在任何程序意外終止時重生。配合實現多進程在中添加接受命令行參數可在配置文件中添加使用代理 上一篇文章:Python:Tornado 第四章:Tornado網站部署:第二節:靜態文件 1、后臺運行 一般調試過程中我們使用python app.py運行網...
閱讀 720·2023-04-25 20:32
閱讀 2267·2021-11-24 10:27
閱讀 4520·2021-09-29 09:47
閱讀 2241·2021-09-28 09:36
閱讀 3633·2021-09-22 15:27
閱讀 2756·2019-08-30 15:54
閱讀 370·2019-08-30 11:06
閱讀 1271·2019-08-30 10:58