美文网首页让前端飞
linux下node配置nginx

linux下node配置nginx

作者: 55lover | 来源:发表于2017-11-21 18:04 被阅读0次

    我自己的错误做法:(如有雷同,纯属巧合)

    首先: 进入vi /usr/local/nginx/nginx.conf 进行编辑配置

    输入:

    server {

    listen      80;

    server_name jakexin.top,www.jakexin.top;            #绑定的域名

    ## 开启gzip

    # gzip on;

    ##  启用gzip压缩的最小文件,小于设置值的文件将不会压缩

    # gzip_min_length 1k;

    ## gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明

    # gzip_comp_level 2;

    ## 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。

    # gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;

    ## 是否在http header中添加Vary: Accept-Encoding,建议开启

    # gzip_vary on;

    ## 禁用IE 6 gzip

    # gzip_disable "MSIE [1-6]\.";

    ## 配置缓存

    # location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {

    # access_log  off;

    # expires      30d;

    # }

    # location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {

    # access_log  off;

    # expires      24h;

    # }

    # location ~* ^.+\.(html|htm)$ {

    # expires      1h;

    # }

    location /

    {

    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-NginXroot-Proxy    true;

    proxy_set_header  Connection "";

    proxy_http_version 1.1;

    proxy_pass http://127.0.0.1:3000;              #对应该的Nodejs程序端口

    }

    access_log  /mnt/log/www/jakexin_access.log;    #网站访问日志

    }

    结果报错了:

    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    输入命令:systemctl status nginx 显示如下图:

    纠结了很久,网上查了很多资料 ,总结如下

    1. 有的说语法错误     很仔细的检查了几遍 ,没有~~~~~~排除;

    2. 有的说是权限错误     我也通过很多方式 改权限  ,结果 也不行 ~~~~~排除;

    3. 有的还说 用nginx -t -c  /etc/nginx/nginx.conf 检查下状态啊什么的, 结果 是 对的  ~~~~排除;

    最后,我在网上找了一个答案就是,我不去改nginx.conf,我去/etc/nginx/nginx.d 目录下 创建一个自定义config文件,输入以下代码

    upstream dp{

    server 127.0.0.1:8088; # 这里的端口号写你node.js运行的端口号,也就是要代理的端口号,我的项目跑在8081端口上

    keepalive 64;

    }

    server {

    listen 8089; #这里的端口号是你要监听的端口号

    server_name 47.*.*.*2; # 这里是你的服务器名称,也就是别人访问你服务的ip地址或域名,可以写多个,用空格隔开

    location / {

    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_set_header Connection "";

    proxy_pass http://dp; # 这里要和最上面upstream后的应用名一致,可以自定义

    }

    }

    然后,回到命令行 执行 service nginx reload ;

    执行没问题。最终也监听到了8088端口。。。完美的解决了该问题。

    最后,写几个命令:

    常用命令:

    systemctl status nginx.service // 查看nginx服务状态

    netstat -tulpn 查看网络状态

    每天记两个 linux 命令 ,总有一天 你会记很多的 ~加油!

    关注一波!喜欢一波!本人是前端菜鸟,正在做自己的个人博客邓鹏的博客, 使用的技术 vue + koa2 + mysql + php + nginx!

    相关文章

      网友评论

        本文标题:linux下node配置nginx

        本文链接:https://www.haomeiwen.com/subject/rfwwvxtx.html