新购买centos服务器部署nginx+node,nginx反向代理

Centos系统的漏洞修复

 

1.清理缓存信息

yum clean all

 

2.安装所有软件和系统更新

yum -y update

 

3.安全重启:

reboot

部署nginx+node服务器,nginx反向代理

1Nginx 安装

一、安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

 

二、首先要安装 PCRE

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version

 

 

安装 Nginx  

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install
/usr/local/webserver/nginx/sbin/nginx -v

 

启动 Nginx

/usr/local/webserver/nginx/sbin/nginx

 

停止nginx

nginx -s stop 

 

Nginx 添加进环境变量

vim /etc/profile

在最后一行加上:

export PATH=$PATH: /usr/local/nginx/sbin

重新加载环境 

source /etc/profile

检查配置文件nginx.conf的正确性命令:

nginx -t

nginx -s reload            # 重新载入配置文件

nginx -s reopen            # 重启 Nginx

nginx -s stop              # 停止 Nginx

netstat –ntpl                               查看进程

 

找到nginx配置文件,我的在

/usr/local/webserver/nginx/conf/nginx.conf

注意:不是解压后的文件,是安装后的文件夹里的配置文件。后面要用到

 

2、部署Node.js环境(建议和nginx安装在同目录下)

下载Node.js安装包。

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

 

解压文件。

tar xvf node-v6.9.5-linux-x64.tar.xz

 

创建软链接,您就可以在任意目录下直接使用nodenpm命令。

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node

ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

 

 

3、添加ssl证书(使httphttps,如无证书略过)

在安装的nginx文件夹下新建cert文件夹,在里面添加.key文件和.pem文件(在阿里找到云盾证书服务,根据自己的需要选择所需的ssl证书并进行购买,有免费的)

 

4、修改nginx的配置文件nginx.conf

全部替换如下

#user  nobody;

worker_processes  1;



error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别

worker_rlimit_nofile 65535;





events {

        use epoll;

        worker_connections  1024;

      }





http {

    include       mime.types;

    default_type  application/octet-stream;





    sendfile        on;



    keepalive_timeout  65;



    server {

        listen       80;

        server_name  www.wuy.cn;

        return   301 https://$server_name$request_uri;        #使请求的http转为https

        index index.html index.htm index.js;

        root /wysystem;                         #站点目录nginx服务器访问的目录



        #access_log  logs/host.access.log  main;



        location / {

            root   html;

            index  index.html index.htm;

        }



        #error_page  404              /404.html;



        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }  

    }



    # HTTPS server

   

    server {

        listen       443 ssl;

        server_name  www.wuy.cn;



        index index.html index.htm index.js;

        root /wysystem;     #站点目录nginx服务器访问的目录,这是我自己建的,可以自己建好然后修改路径,里面放个.html文件就行



        ssl_certificate      /usr/local/webserver/nginx/cert/wu.pem;  #pem文件

        ssl_certificate_key  /usr/local/webserver/nginx/cert/wu.key;    #key文件



        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  10m;



        ssl_ciphers       #******(申请证书的加密套件)*****;  #使用此加密套件。

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置

        ssl_prefer_server_ciphers on;


        location / {
        }

}



#node代理

upstream nodejs {

    server 127.0.0.1:3000;

    keepalive 64;

}



server {

    listen 443 ssl;

    server_name wuy.cn;                #node代理的域名

    access_log /usr/local/webserver/nginx/logs/test.log;



    ssl_certificate      /usr/local/webserver/nginx/cert/wu.pem;#pem文件

    ssl_certificate_key  /usr/local/webserver/nginx/cert/wu.key;#key文件



    ssl_session_cache    shared:SSL:1m;

    ssl_session_timeout  10m;



     ssl_ciphers       #******(申请证书的加密套件)*****;  #使用此加密套件。

     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置
     ssl_prefer_server_ciphers on;



    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://nodejs;       

    }

  }

}

 

5、在站点目录下编写index.js文件,用于node测试


 

const http = require('http');

const hostname = '127.0.0.1';

const port = 3000;

const server = http.createServer((req, res) => {

    res.statusCode = 200;

    res.setHeader('Content-Type', 'text/plain');

    res.end('Hello Node\n');

});



server.listen(port, hostname, () => {

    console.log(`Server running at http://${hostname}:${port}/`);

});

6,启动nginx和node

nginx

node index.js &

 

7,浏览器访问node代理的域名,出现Hello Node则成功,

这里域名是wuy.cn。

 

8、因为node启动不是永久启动,断开服务器连接时,node也停止,因此我安装了forever模块

进入项目路径执行

npm install forever –g

创建链接,使用forever时就不需要加入路径(注意自己安装位置的路径)

 

ln -s /home/downloads/node-v8.2.1-linux-x64/bin/forever /usr/bin/forever

forever启动

forever start xxx.js

重启

 
forever restart  xxx.js

停止

forever stop xxx.js
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

eachanm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值