CentOS-7.2 Nginx反向代理-搭建Node-Express应用

写在前面
  • 云服务器使用腾讯云,系统为CentOS 7.2
  • Node 8.11.x Express 4.16.0
  • Mongodb 3.4

  • 安装Nginx

yum install nginx -y

启动

nginx
  • 配置nginx.conf
    当浏览器使用http访问域名时,将访问到服务器本地的8080端口
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    # include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        # 域名
        server_name  www.ssssss.cn;

        # Load configuration files for the default server block.
        #下面一行表示引入本文件外的配置
        # include /etc/nginx/default.d/*.conf;

        location / {
        #前四行其实可以省略
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #代理本地8080端口
            proxy_pass  http://127.0.0.1:8080;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

# Settings for a TLS enabled server.

    server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  sysuygm.cn;
#        root         /usr/share/nginx/html;
        # 证书配置
        ssl_certificate "/etc/pki/nginx/sssss.crt";
        ssl_certificate_key "/etc/pki/nginx/kkkkk.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass  http://127.0.0.1:8080;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

}
  • 遇到的问题
[root@VM_0_3_centos photo]# nginx -s reload
nginx: [warn] conflicting server name "www.ssssss.cn" on 0.0.0.0:80, ignored

记得,如果引入的配置文件与本文件内容冲突的话,将报错,这里的错误是域名配置和监听端口冲突。因为一开始我在另一个文件中配置了该域名转发到3000端口。解决问题后,重启nginx。

nginx -s reload
  • Node-Express应用

    应用只需要监听端口8080即可。

  • 安装Forever后台管理器
    为了能在后台启动node服务器,使用Forever进行管理,使得

npm install forever -gd

使用Forever

forever --help
//后台启动
forever start app.js
//停止
forever stop app.js

结束。

  • 更多干货

    1) dockeradmin:kerAdmin是一个Docker管理面板,它把服务器端软件应用的安装行为简化到极致,堪称服务器端的应用宝,具有集群管理、自动故障转移、自动负载均衡等高级功能,可轻易搭建7*24小时在线的网站运行环境,包含PHP, JSP, GoLang, NodeJS, Python等网站运行环境。

    2) LuManage:LuManager(LUM)是基于FreeBSD、Debian、Centos、Ubuntu、HttpOS等Linux/Unix系统的网站服务器管理软件,是目前国内市场上为数不多的同时支持Linux和Unix的网站服务管理软件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值