小程序模板網(wǎng)

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

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

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

 
 
 

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

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

  2. 等申請(qǐng)通過之后,在買域名的地方,設(shè)置網(wǎng)站解析?。?!就是把域名綁定在IP地址上。若是沒設(shè)置,后面無論如何都沒用,這坑我可是跌得夠深的。笑著活下去。

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

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

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

 

		
  1. upstream nodejs{
  2.  
  3. server 127.0.0.1:3303; #項(xiàng)目的服務(wù)開啟監(jiān)聽端口
  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 一切就緒,開啟node服務(wù),用域名訪問,no problem~。但是在小程序上能否在真機(jī)上測(cè)試,這個(gè)我還沒弄。

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

 

		
  1.  
  2.  
  3. apt-get update // 更新軟件源
  4.  
  5. apt-get install nginx // 安裝nginx
  6.  
  7. echo $? // 查看命令執(zhí)行結(jié)果,0為無異常
  8.  
  9. nginx -v // 查看安裝后的nginx版本
  10.  
  11. /etc/init.d/nginx start // 開啟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 上述配置出來的是http,若要配置成https的話,根據(jù)證書安裝指引的步驟做即可。

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



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