Linux 版本为 centos7
安装 node.js
首先直接使用 yum 安装
$ yum -y install nodejs
但是此时并不是最新的版本, 应该是6.xxx,可以使用 node -v
查看;
升级到最新版本
首先安装 n(nodejs 管理工具)
$ npm install -g n
安装完成后安装 node.js 最新版本
$ n latest
然后使用
$ n
选择最新版本。
接着全局改变 nodejs 版本
$ vim ~/.bash_profile
并在其中输入
export N_PREFIX=/usr/local #node实际安装位置
export PATH=$N_PREFIX/bin:$PATH
保存并退出,在用下面命令刷新
$ source ~/.bash_profile
这边就升级成功了,再检查下版本吧。
安装 MongoDB
首先编写 yum 库文件
$ sudo vi /etc/yum.repos.d/mongodb-org.repo
将下面文本写入
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
保存并退出;
检查可用库:
$ yum repolist
如果看到
. . .
repo id repo name
mongodb-org-3.2/7/x86_64 MongoDB Repository
. . .
就可以进行安装操作
$ sudo yum install mongodb-org
安装结束后,启动它
$ sudo systemctl start mongod
安装 Nginx
前期准备
$ yum install gcc-c++
$ yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
安装结束后,执行安装 Nginx 的命令:
$ yum install nginx -y
反向代理配置
进入 nginx 文件夹
$ cd /etc/nginx
打开配置文件:
$ vim nginx.conf
忽略其他,我们看 server, 删除多余的,将 server 改造成下面这样:
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
然后我们新增自己的代理配置,类似于下面:
server {
listen 80;
server_name xxx.com www.xxx.top;
location / {
proxy_pass http://127.0.0.1:8080;
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_redirect off;
}
}
解释下:
- server_nme 是域名,这边可以配置一级或者二级域名;
- proxy_pass 是ip,通常直接以 127.0.0.1 代替,当然你也可以写你云服务器的公网ip;
其他的照着写就👌, 上面文本达成的效果是,使用 server_name 代替直接访问 ip.
Ps. server_name 只能填写域名解析后的域名,并且需要在云服务器安全组中添加 80 端口的支持规则。
SSL 配置
首先要申请证书,并且下载到本地。
通常它们会是这样命名:
// xxx 是域名
cert-1541562634350_xxx.crt
cert-1541562634350_xxx.key
下载完后,使用 FTP 等同类工具上传到云服务器上,在 /etc/nginx 文件夹下创建 cert,将这这两个文件移到这个文件夹下;
接着编写 nginx.conf
server {
listen 443 ssl;
server_name *.xxx.com;
root /usr/share/nginx/html;
ssl_certificate /etc/nginx/cert/cert-1541562634350_www.funnyfm.top.crt;
ssl_certificate_key /etc/nginx/cert/cert-1541562634350_www.funnyfm.top.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
几个注意点:
- SSL 监听的是 443 端口,需要在安全规则中添加;
- 每一个 SSL server 需要对应一个 http 80 的server
编写结束后,需要重启 Nginx
$ nginx -s reload
好了,现在可以使用 xxx.com
来代替直接访问 ip 了。