云服务器 CentOS、Ubuntu 环境搭建
一、基础配置
阿里云:Ubuntu 16.04 64位
腾讯云:2 核 4 GB 3 Mbps CentOS 7.5 64位
$ ssh root@120.120.110.20 #登录服务器
二、 Nginx安装
1、CentOS 下 安装
http://nginx.org/en/linux_packages.html#RHEL-CentOS
$ sudo yum install yum-utils
$ cd /etc/yum.repos.d
$ touch nginx.repo
$ vim nginx.repo
复制下面:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
esc :wq 保存退出
$ sudo yum-config-manager --enable nginx-mainline
$ sudo yum install nginx
$ nginx -v
2、Ubuntu 下 安装
3、配置
http://nginx.org/en/docs/beginners_guide.html
三、Nginx 服务器证书安装
1、Nginx 服务器证书安装-CentOS 7
可参考腾讯云的文档:Nginx 服务器证书安装
1) 解压缩后,可获得相关类型的证书文件。Nginx 文件夹下文件:1_www.domain.com_bundle.crt
证书文件和2_www.domain.com.key
私钥文件
2)将已获取到的 1_www.domain.com_bundle.crt
证书文件和 2_www.domain.com.key
私钥文件拷贝到 Nginx 服务器的 /xxx/nginx/conf.d 目录下。
3)编辑 Nginx 根目录下的 conf.d/default.conf 文件
server {
listen 443; #SSL 访问端口号为 443
server_name www.domain.com; #填写绑定证书的域名
ssl on; #启用 SSL 功能
ssl_certificate /etc/nginx/conf.d/1_www.domain.com_bundle.crt; #证书文件名称
ssl_certificate_key /etc/nginx/conf.d/2_www.domain.com.key; #私钥文件名称
ssl_session_timeout 5m;
#请按照这个协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照这个套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径
root /var/www/www.domain.com;
index index.html index.htm;
}
}
4)Nginx 根目录下,通过执行以下命令验证配置文件问题
$ nginx -t
nginx 报错 : [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
解决: ssl on
去掉,改 listen 443
为 listen 443 ssl
即可;
5)重启 Nginx,即可使用 https://www.domain.com 进行访问
2、Nginx 服务器证书安装 - Ubuntu
以之前阿里云的为例,解压后,在 /etc/nginx
下新建目录 cert
,然后把 xxx.crt
和 xxx.key
文件上传到 cert
目录下,配置之前的conf
文件如下:
server {
listen 443; #SSL 访问端口号为 443
server_name itguliang.com www.itguliang.com;
ssl on;
ssl_certificate /etc/nginx/cert/cert_www.itguliang.com.crt;
ssl_certificate_key /etc/nginx/cert/cert_www.itguliang.com.key;
location / {
#网站主页路径
root /var/www/www.domain.com;
index index.html index.htm;
}
}
重启验证
3、http 自动跳转 https
server {
listen 80;
server_name www.domain.com; #填写绑定证书的域名
rewrite ^(.*)$ https://$host$1 permanent; #把http的域名请求转成https
}
四、安装Node
https://github.com/nodesource/distributions
$ curl -sL https://rpm.nodesource.com/setup_10.x | bash -
$ yum install -y nodejs
$ yum install gcc-c++ make
$ node -v
$ npm -v
五、安装 mongodb
1、CentOS 安装 mongodb
官网地址:Install MongoDB Community Edition on Red Hat or CentOS
1)创建仓库文件:
$ vi /etc/yum.repos.d/mongodb-org-4.2.repo
然后复制下面配置,保存退出
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
2)yum 安装
$ sudo yum install -y mongodb-org
# mongo --version 检查版本
相关命令:
$ service mongod start #启动
$ service mongod stop #停止
$ service mongod restart #重启
六、安装 git
$ yum install git # CentOS
$ sudo apt-get install git # Ubuntu
$ git --version
七、安装 pm2
$ npm install pm2@latest -g
$ pm2 -v
$ pm2 start xxx.js #启动服务,可以配置到项目的package.json
pm2实现linux重启后自启动node服务(解决服务器由于各种原因自动重启后,node服务没自动启动,导致无法工作的问题):
$ pm2 start #启动服务
$ pm2 save #保存当前已经启动了的服务
$ pm2 startup #设置开机自启的配置
# pm2 startup 以后会得到以下提示 设置环境变量
[PM2] Init System found: upstart
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/opt/bitnami/nodejs/bin /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2 startup upstart -u bitnami --hp /home/bitnami
# 粘贴复制 sudo env….这一部分的命令 执行命令 完成
# 设置完成,sudo reboot 手动重启服务器pm2 list 查看验证
# Remove init script via:
$ pm2 unstartup systemd
相关命令:
$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 restart all # 重启所有应用
$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序