Centos系统的漏洞修复
1.清理缓存信息
yum clean all
2.安装所有软件和系统更新
yum -y update
3.安全重启:
reboot
部署nginx+node服务器,nginx反向代理
1、Nginx 安装
一、安装编译工具及库文件
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
创建软链接,您就可以在任意目录下直接使用node和npm命令。
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证书(使http转https,如无证书略过)
在安装的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