NodeJS推荐使用PM2进行管理状态,详情了解可以
npm install pm2 -g
pm2 --help
pm2 examples

pm2 start bin/www --name name --watch
--watch是监视文件变化自动reload

重点说说反向代理和跳转HTTPS

UBUNTU系统,所以首先apt install nginx,然后
进入/etc/nginx/sites-available里面新建一个网站配置,例如www.xxx.com
当然了你也可以复制现有default复制一份出来例如cp default www.xxx.com
然后写入并以下信息


# 服务器的HTTP部分
server {
    listen 80;

        # 这里我直接做的反向代理,所以不用写根路径在哪
    #root /var/www/html;

        # 强制从HTTP跳转到HTTPS
    rewrite ^(.*)$  https://$host$1 permanent;

    # 默认的网页名称
    index index.html index.htm index.nginx-debian.html;

        # 网址名称
    server_name xxx.net www.xxx.net;

    location / {
                # 这里就是反向代理的实现了,将访问的网址代理到本地NodeJS中
        proxy_pass  http://127.0.0.1:3000;
        proxy_redirect     off;
                proxy_set_header   Host             $host:$server_port;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

# 服务器的HTTPS本分
server {
    listen 443;
        # 默认首页没啥好说的
    index index.html index.htm index.nginx-debian.html;

        # 你的SSL信息,百度一下全是了
    ssl on;
    ssl_certificate   /etc/nginx/cert/215077960110430.pem;
    ssl_certificate_key  /etc/nginx/cert/215077960110430.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

        # HTTPS也要反向代理哦!
    location / {
        proxy_pass  http://127.0.0.1:3000;
        proxy_redirect     off;
                proxy_set_header   Host             $host:$server_port;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

哦了,代码就是这么简单,
nginx -t检查一下配置有没有错,service nginx reload加载一下,刷新网页查看结果吧!

添加新评论