摘要:這樣就能通過(guò)不同的子域名來(lái)訪(fǎng)問(wèn)不同的應(yīng)用了大致的結(jié)構(gòu)本質(zhì)上就是負(fù)責(zé)轉(zhuǎn)發(fā)進(jìn)來(lái)的請(qǐng)求,那么轉(zhuǎn)發(fā)的依據(jù)就是判斷不同的子域名第一步當(dāng)然是安裝,各個(gè)平臺(tái)不太一樣,也沒(méi)法分享了。
最近搗鼓了不少時(shí)間,起初想到要弄這個(gè)就是因?yàn)?node 直接起 server 的方式有點(diǎn)暴力,因?yàn)檎加昧?80 端口就是真的占用了,很難在用一個(gè) 80 端口掛多個(gè) WebServer。你只能掛載在多個(gè)端口上,訪(fǎng)問(wèn)起來(lái)后面還得加個(gè)端口,太丑了,所以摸索了一下,用 Nginx 配置了一個(gè)多服務(wù)結(jié)構(gòu)。這樣就能通過(guò)不同的子域名來(lái)訪(fǎng)問(wèn)不同的應(yīng)用了!
大致的結(jié)構(gòu)
本質(zhì)上就是 nginx 負(fù)責(zé)轉(zhuǎn)發(fā)進(jìn)來(lái)的請(qǐng)求,那么轉(zhuǎn)發(fā)的依據(jù)就是判斷不同的子域名
STEP 1 Install Nginx第一步當(dāng)然是安裝 nginx,各個(gè)平臺(tái)不太一樣,也沒(méi)法分享了。我自己的 ubuntu 的環(huán)境
apt-get isntall nginxSTEP 2 Set DNS AND PORT
去你的域名管理商那里分配你想要的子域名,當(dāng)然都是 A 記錄并全部解析到你的 VPS 公網(wǎng) IP 上.
另外一個(gè)準(zhǔn)備就是修改你所有的 NodeWebServer 的端口,可以按你的愛(ài)好設(shè)置,但是不要占用 80 以及 443 端口
STEP 3 nginx config Node.js切換到你的nginx 配置目錄
我的目錄位置
/etc/nginx/
這里要說(shuō)明 nginx 是擁有 Include 機(jī)制的,他會(huì)自動(dòng)加載 conf.d 目錄下的所有 _.conf_(默認(rèn)配置下) ,所以我們并不需要修改 nginx.conf 文件。我們接下來(lái)需要在 conf.d 目錄下創(chuàng)建一系列的配置文件,文件名請(qǐng)使用你相應(yīng)的工程名,比如 project1.conf
如果沒(méi)有請(qǐng)手動(dòng)加入
include /etc/nginx/conf.d/*.conf; # include /etc/nginx/sites-enabled/*; // 最好給他注釋了 默認(rèn)頁(yè)面沒(méi)啥用
開(kāi)始編寫(xiě)項(xiàng)目配置
cd conf.dtouch project1.conf
vim project1.conf
讓我們編寫(xiě)詳細(xì)的轉(zhuǎn)發(fā)規(guī)則
// 這是一個(gè)NODE Web Server // 我已經(jīng)將這個(gè)服務(wù)的端口改成了8000端口 // 當(dāng)nginx捕獲到訪(fǎng)問(wèn)域名為api.yinode.tech的時(shí)候 // 就會(huì)轉(zhuǎn)發(fā)到本地的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; } }
如果你需要轉(zhuǎn)發(fā) HTTPS,請(qǐng)復(fù)制一份上面的內(nèi)容粘貼到下面,修改監(jiān)聽(tīng)端口為 443,轉(zhuǎn)發(fā)端口就是你監(jiān)聽(tīng)的 https 端口!
STEP 4 nginx config PHPphp 的轉(zhuǎn)發(fā)設(shè)置會(huì)稍有一些不同,(默認(rèn)你已經(jīng)安裝好了 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; // 必須填寫(xiě),注意順序 } }
逐個(gè)講解,首先我們的 Root 目錄會(huì)變的重要,Nginx 將會(huì)把這個(gè)目錄轉(zhuǎn)發(fā)給 FPM 來(lái)跑 PHP 代碼,所以不要寫(xiě)錯(cuò)了,第二是后面的轉(zhuǎn)發(fā)必須加上 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;這能引導(dǎo) fpm 進(jìn)行正確的地址拼接
TIPS:提醒
nginx 和 FPM 的默認(rèn)啟動(dòng)用戶(hù)都是 www-data,所以你的網(wǎng)站根目錄請(qǐng)務(wù)必修改所屬者為 www-data,并且不要將這個(gè)目錄放置到/root/ 下,會(huì)出現(xiàn)權(quán)限問(wèn)題,最好復(fù)制到/var/www 目錄下,并設(shè)置所屬者!
STEP 5 Repeat重復(fù) 3 4 步驟,創(chuàng)建所有你需要的項(xiàng)目配置
STEP 6 Restart nginxservice nginx restart
如果出現(xiàn)報(bào)錯(cuò),仔細(xì)查看信息,去網(wǎng)上找,一般都是因?yàn)榕渲梦募袷藉e(cuò)誤。
STEP 7 Run打開(kāi)你的網(wǎng)站吧,應(yīng)該可以正常運(yùn)行了!以后新增 Server 其實(shí)也只要增加一個(gè)對(duì)應(yīng)的 conf 文件,可以很方便的橫向擴(kuò)展,并且整個(gè)網(wǎng)站訪(fǎng)問(wèn)起來(lái)也會(huì)比較美觀!
最后 附上我的博客地址,可以來(lái)看看
Blog
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30779.html
摘要:這樣就能通過(guò)不同的子域名來(lái)訪(fǎng)問(wèn)不同的應(yīng)用了大致的結(jié)構(gòu)本質(zhì)上就是負(fù)責(zé)轉(zhuǎn)發(fā)進(jìn)來(lái)的請(qǐng)求,那么轉(zhuǎn)發(fā)的依據(jù)就是判斷不同的子域名第一步當(dāng)然是安裝,各個(gè)平臺(tái)不太一樣,也沒(méi)法分享了。 最近搗鼓了不少時(shí)間,起初想到要弄這個(gè)就是因?yàn)?node 直接起 server 的方式有點(diǎn)暴力,因?yàn)檎加昧?80 端口就是真的占用了,很難在用一個(gè) 80 端口掛多個(gè) WebServer。你只能掛載在多個(gè)端口上,訪(fǎng)問(wèn)起來(lái)后面...
摘要:本文將介紹如何在一臺(tái)的云服務(wù)器上快速部署博客站點(diǎn),如何快速發(fā)布一篇博文并通過(guò)云服務(wù)器上的私有倉(cāng)庫(kù)部署到服務(wù)器目錄下。此外,還要在云服務(wù)器上安裝和兩個(gè)必備的軟件包。在服務(wù)器上部署博客以下為文章正文。 推薦理由:Hexo 是用 Node.js 開(kāi)發(fā)的一個(gè)靜態(tài)站點(diǎn)生成器(Static Site Generator),支持 Markdown 語(yǔ)法寫(xiě)作,有著強(qiáng)大的插件系統(tǒng),而且性能優(yōu)異。下面我推...
摘要:上一篇文章第四章網(wǎng)站部署第二節(jié)靜態(tài)文件后臺(tái)運(yùn)行一般調(diào)試過(guò)程中我們使用運(yùn)行網(wǎng)站,方便我們?cè)诿钚兄锌催\(yùn)行狀況。默認(rèn)情況下,會(huì)監(jiān)控子進(jìn)程,并在任何程序意外終止時(shí)重生。配合實(shí)現(xiàn)多進(jìn)程在中添加接受命令行參數(shù)可在配置文件中添加使用代理 上一篇文章:Python:Tornado 第四章:Tornado網(wǎng)站部署:第二節(jié):靜態(tài)文件 1、后臺(tái)運(yùn)行 一般調(diào)試過(guò)程中我們使用python app.py運(yùn)行網(wǎng)...
閱讀 2077·2021-11-24 09:39
閱讀 795·2021-09-30 09:48
閱讀 986·2021-09-22 15:29
閱讀 2421·2019-08-30 14:17
閱讀 1895·2019-08-30 13:50
閱讀 1352·2019-08-30 13:47
閱讀 989·2019-08-30 13:19
閱讀 3428·2019-08-29 16:43