用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 后端教程 查看内容

【nodeJs入门】第3篇:域名绑定服务器IP

天下雪 2017-5-3 16:23

这一次并不是讲nodejs的,有点跑偏了,但是都是为小程序搭建后台做的准备。先说下缘故,在小程序内开启的websoket服务在真机上测试一直报错,找了几篇文档,首要确定的是端口和ssl是否有问题。因为ssl是用Linux的ope ...

这一次并不是讲nodejs的,有点跑偏了,但是都是为小程序搭建后台做的准备。先说下缘故,在小程序内开启的websoket服务在真机上测试一直报错,找了几篇文档,首要确定的是端口和ssl是否有问题。因为ssl是用Linux的openssl生成的,所以我对这个的怀疑度最高。为排除这一个问题,我决定申请一个域名和证书,绑定在我的服务器IP上。 
这一路很是尴尬...

  1. 在腾讯云上申请一个域名(真的不是在打广告!!)一般第一年的比较便宜,我买了个.xyz的域名,第一年8块,续费每年99块(贼贵贼贵的),其他的第一年都上20+,30+,我打算第一次用,先买个便宜的试一下吧。.xyz和.cn/ .com/ .net等等域名的区别可参考百科,购买时系统会提醒的是备案地点的不同。买个域名后,就可以免费申请ssl证书,可用期限1年。

  2. 等申请通过之后,在买域名的地方,设置网站解析!!!就是把域名绑定在IP地址上。若是没设置,后面无论如何都没用,这坑我可是跌得够深的。笑着活下去。

  3. 在服务器(Ubuntu)上指定域名和路径文件。这里我用的是Nginx。这里小插曲很多.... 
    3.1 Ubuntu下Nginx安装 ,安装的Nginx 1.4.6 一直无法启用。查看日志是80端口被占用,如该文章内所示 Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)。 但是,并没有找到对应文件需要修改的地方。于是kill 掉所有的80端口进程。重启服务,未果。

    3.2 卸载Nginx 没法好好玩,于是打算卸载重装。在根目录下用命令 find -name ‘nginx’ 找到相关文件 rm 掉,再运行apt-get remove nginx删除。然而卸载后的每次重装,都会遇到缺少nginx.conf或者缺少自启用脚本等问题。后来跑偏了。

    3.3 更改Nginx源 跑偏不是没有好处的,路过一个比较有趣的博客,谢谢博主,指出更改源的方案,不然我卸载10次重装10次还是找不到问题。更改源之后install 的版本是 1.10.3,马上就跑动了....(自知心酸的落泪) 
    3.4 Nodejs绑定域名与反向代理 (注:很多类似的文件都是配置Apache PHP的,看清是否是nodejs的就好。) 
    附上配置:

  1. upstream nodejs{
  2. server 127.0.0.1:3303; #项目的服务开启监听端口
  3. # server 127.0.0.1:3001;
  4. keepalive 64;
  5. }
  6. server {
  7. listen 3000;
  8. server_name www.xxxx.xyz xxxx.xyz;
  9. location / {
  10. proxy_set_header X-Real-IP $remote_addr;
  11. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  12. proxy_set_header Host $http_host;
  13. proxy_set_header X-Nginx-Proxy true;
  14. proxy_set_header Connection "";
  15. proxy_pass http://nodejs; #这里的nodejs应该是上面的upstream中的nodejs一致。所以这里取的应该是其server地址(待确定)
  16. }
  17. }
     参考文档:
       3.4.1 [Nginx配置文件nginx.conf中文详解][7]
       3.4.2 [nginx服务器绑定域名和设置根目录的方法][8]
       3.4.3 [用 nodejs 做反向代理服务器][9]
       3.4.5 [详述:Nginx请求反向代理][10]

3.5 一切就绪,开启node服务,用域名访问,no problem~。但是在小程序上能否在真机上测试,这个我还没弄。

3.6 附上常用弄服务器时用到的命令:

  1. apt-get update // 更新软件源
  2. apt-get install nginx // 安装nginx
  3. echo $? // 查看命令执行结果,0为无异常
  4. nginx -v // 查看安装后的nginx版本
  5. /etc/init.d/nginx start // 开启nginx服务
  6. ps -ef|grep nginx // 查看与nginx有关的进程
  7. lsof -i:80 // 查看占用80端口的服务
  8. find -name 'nignx' // 在cd / 后执行该命令,找到名为nginx的文件夹的路径
  9. rm -rf /ect/nginx // 删除/etc路径下的nginx文件夹
  10. apt-get remove nginx // 卸载nginx
  11. apt-get remove nginx* // 卸载nginx与nginx相关的包
  12. vim vhost.conf // 编辑vhost.conf文件

3.7 上述配置出来的是http,若要配置成https的话,根据证书安装指引的步骤做即可。

如有不对的地方,请指出,感谢~

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 小西瓜

相关阅读

  • 天下雪 2017-5-3 11:53
    好,我最近就希望获得一些服务器配置的一些坑和跳坑的记录。。。我发现,开发者大部分都在运维方面是弱势。。。
  • wx_WangYong76 2017-8-31 18:37
    学习了
  • dujunhui007 2017-9-8 18:40
    谢楼主
  • yun02 2017-9-16 15:42
    学习