小程序模板網(wǎng)

【nodeJs入門(mén)】第3篇:域名綁定服務(wù)器IP

發(fā)布時(shí)間:2018-02-01 18:22 所屬欄目:小程序開(kāi)發(fā)教程

這一次并不是講nodejs的,有點(diǎn)跑偏了,但是都是為小程序搭建后臺(tái)做的準(zhǔn)備。先說(shuō)下緣故,在小程序內(nèi)開(kāi)啟的websoket服務(wù)在真機(jī)上測(cè)試一直報(bào)錯(cuò),找了幾篇文檔,首要確定的是端口和ssl是否有問(wèn)題。因?yàn)閟sl是用Linux的ope ...

 
 
 

這一次并不是講nodejs的,有點(diǎn)跑偏了,但是都是為小程序搭建后臺(tái)做的準(zhǔn)備。先說(shuō)下緣故,在小程序內(nèi)開(kāi)啟的websoket服務(wù)在真機(jī)上測(cè)試一直報(bào)錯(cuò),找了幾篇文檔,首要確定的是端口和ssl是否有問(wèn)題。因?yàn)閟sl是用Linux的openssl生成的,所以我對(duì)這個(gè)的懷疑度最高。為排除這一個(gè)問(wèn)題,我決定申請(qǐng)一個(gè)域名和證書(shū),綁定在我的服務(wù)器IP上。 
這一路很是尷尬...

  1. 在騰訊云上申請(qǐng)一個(gè)域名(真的不是在打廣告?。。┮话愕谝荒甑谋容^便宜,我買(mǎi)了個(gè).xyz的域名,第一年8塊,續(xù)費(fèi)每年99塊(賊貴賊貴的),其他的第一年都上20+,30+,我打算第一次用,先買(mǎi)個(gè)便宜的試一下吧。.xyz和.cn/ .com/ .net等等域名的區(qū)別可參考百科,購(gòu)買(mǎi)時(shí)系統(tǒng)會(huì)提醒的是備案地點(diǎn)的不同。買(mǎi)個(gè)域名后,就可以免費(fèi)申請(qǐng)ssl證書(shū),可用期限1年。

  2. 等申請(qǐng)通過(guò)之后,在買(mǎi)域名的地方,設(shè)置網(wǎng)站解析!?。【褪前延蛎壎ㄔ贗P地址上。若是沒(méi)設(shè)置,后面無(wú)論如何都沒(méi)用,這坑我可是跌得夠深的。笑著活下去。

  3. 在服務(wù)器(Ubuntu)上指定域名和路徑文件。這里我用的是Nginx。這里小插曲很多.... 
    3.1 Ubuntu下Nginx安裝 ,安裝的Nginx 1.4.6 一直無(wú)法啟用。查看日志是80端口被占用,如該文章內(nèi)所示 Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)。 但是,并沒(méi)有找到對(duì)應(yīng)文件需要修改的地方。于是kill 掉所有的80端口進(jìn)程。重啟服務(wù),未果。

    3.2 卸載Nginx 沒(méi)法好好玩,于是打算卸載重裝。在根目錄下用命令 find -name ‘nginx’ 找到相關(guān)文件 rm 掉,再運(yùn)行apt-get remove nginx刪除。然而卸載后的每次重裝,都會(huì)遇到缺少nginx.conf或者缺少自啟用腳本等問(wèn)題。后來(lái)跑偏了。

    3.3 更改Nginx源 跑偏不是沒(méi)有好處的,路過(guò)一個(gè)比較有趣的博客,謝謝博主,指出更改源的方案,不然我卸載10次重裝10次還是找不到問(wèn)題。更改源之后install 的版本是 1.10.3,馬上就跑動(dòng)了....(自知心酸的落淚) 
    3.4 Nodejs綁定域名與反向代理 (注:很多類(lèi)似的文件都是配置Apache PHP的,看清是否是nodejs的就好。) 
    附上配置:

 

		
  1. upstream nodejs{
  2.  
  3. server 127.0.0.1:3303; #項(xiàng)目的服務(wù)開(kāi)啟監(jiān)聽(tīng)端口
  4.  
  5. # server 127.0.0.1:3001;
  6.  
  7. keepalive 64;
  8.  
  9. }
  10.  
  11. server {
  12.  
  13. listen 3000;
  14.  
  15. server_name www.xxxx.xyz xxxx.xyz;
  16.  
  17. location / {
  18.  
  19. proxy_set_header X-Real-IP $remote_addr;
  20.  
  21. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  22.  
  23. proxy_set_header Host $http_host;
  24.  
  25. proxy_set_header X-Nginx-Proxy true;
  26.  
  27. proxy_set_header Connection "";
  28.  
  29. proxy_pass http://nodejs; #這里的nodejs應(yīng)該是上面的upstream中的nodejs一致。所以這里取的應(yīng)該是其server地址(待確定)
  30.  
  31. }
  32.  
  33. }
     參考文檔:
       3.4.1 [Nginx配置文件nginx.conf中文詳解][7]
       3.4.2 [nginx服務(wù)器綁定域名和設(shè)置根目錄的方法][8]
       3.4.3 [用 nodejs 做反向代理服務(wù)器][9]
       3.4.5 [詳述:Nginx請(qǐng)求反向代理][10]

3.5 一切就緒,開(kāi)啟node服務(wù),用域名訪(fǎng)問(wèn),no problem~。但是在小程序上能否在真機(jī)上測(cè)試,這個(gè)我還沒(méi)弄。

3.6 附上常用弄服務(wù)器時(shí)用到的命令:

 

		
  1.  
  2.  
  3. apt-get update // 更新軟件源
  4.  
  5. apt-get install nginx // 安裝nginx
  6.  
  7. echo $? // 查看命令執(zhí)行結(jié)果,0為無(wú)異常
  8.  
  9. nginx -v // 查看安裝后的nginx版本
  10.  
  11. /etc/init.d/nginx start // 開(kāi)啟nginx服務(wù)
  12.  
  13. ps -ef|grep nginx // 查看與nginx有關(guān)的進(jìn)程
  14.  
  15. lsof -i:80 // 查看占用80端口的服務(wù)
  16.  
  17. find -name 'nignx' // 在cd / 后執(zhí)行該命令,找到名為nginx的文件夾的路徑
  18.  
  19. rm -rf /ect/nginx // 刪除/etc路徑下的nginx文件夾
  20.  
  21. apt-get remove nginx // 卸載nginx
  22.  
  23. apt-get remove nginx* // 卸載nginx與nginx相關(guān)的包
  24.  
  25. vim vhost.conf // 編輯vhost.conf文件

3.7 上述配置出來(lái)的是http,若要配置成https的話(huà),根據(jù)證書(shū)安裝指引的步驟做即可。

如有不對(duì)的地方,請(qǐng)指出,感謝~



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/21394.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢(xún):800182392 點(diǎn)擊咨詢(xún)
QQ在線(xiàn)咨詢(xún)
AI智能客服 ×