Linux 版本为 centos7
安装 node.js
首先直接使用 yum 安装
$ yum -y install nodejs复制代码
但是此时并不是最新的版本, ,可以使用 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 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc复制代码
保存并退出;
检查可用库:$ yum repolist复制代码
如果看到
. . .repo id repo namemongodb-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.crtcert-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 了。