对于没有一点服务器使用经验的小白用户来说,宝塔面板是一个不错的选择。
安装宝塔面板
我使用的是linux centos7(宝塔7系支持好)。
官方提供了yum安装方式
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
一路按y,会安装宝塔的各种服务,py等环境。
安装成功
进入宝塔面板软件商店,安装pm2管理器,mongodb,nginx
安装完成以后,点击文件,上传网站压缩文件,zip
解压文件,并且进入目录,
// 进入网站所在目录(宝塔默认网站根目录/www/wwwroot)
cd /www/wwwroot
// 安装依赖
npm install
// 初始化数据
npm run build
在上一章讲了,默认初始化的数据,需要自己创建默认的数据,索引等。
进入pm2管理器,选择网站
这里其实相当于进入项目目录,执行(↑上面的操作相当于执行了这条命令)
pm2 start app.js --name app
到这里一步只是启动了项目,但是没有映射(也就是设置转发请求),因为最前面有nginx接受了所有的请求,选择映射就是让nginx吧某个网站请求转给pm2管理器开启的服务
映射完成之后就可以再网站一栏找到刚才映射的网站。
配置当前站点nginx文件
加入转发请求以及http强制跳转https
// http强制跳转https
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
// 分发请求给nodejs,并且配置header头代理字段和当前协议
// proxy_set_header X-Proxy-Protocol "https"告诉nodejs当前代理协议是哪种,(自定义header字段)
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Proxy-Protocol "https";
# 要代理的本地后台 我的是8080端口
proxy_pass http://127.0.0.1:9999;
}
如果发现站点下有代理配置,请注释掉,以免出错!!!
部署完成效果
评论前必须登录!
注册