nuxt项目上线
系统:linux
反向代理:tengine
启动node服务:pm2
项目:基于nuxt一个博客项目,后端是koa2
下载、配置node:
1. 下载
wget https://cdn.npm.taobao.org/dist/node/v14.16.0/node-v14.16.0-linux-x64.tar.xz -P /opt/
国内官方(下载快):http://nodejs.cn/
2. 解压tar包
进入文件夹目录中,执行tar xf node-v14.16.0-linux-x64.tar.xz
2.1 配置软连接
ln -s node-v14.16.0-linux-x64 node
3. 配置环境变量(百度)
echo "PATH=/opt/node/bin/:$PATH" >> /etc/profile
4. 使配置文件生效
source /etc/profile
5. 测试,在任意目录下执行,能打印出版本号就好了
安装cnmp:
// nmp下载太慢了
npm install -g cnpm --registry=https://registry.npm.taobao.org
pm2管理node项目:
参考博客:
https://www.cnblogs.com/hai-cheng/p/8690115.html
安装:
cnpm install -g pm2
启动添加:
1. 切换至项目目录下,执行pm2 start 启动的命令 --name 项目别名
2. 添加完后,以后要再启动程序,直接pm2 start 项目别名即可
# 例子: pm2 start npm --name talent_management_back_end -- run start
停止:
pm2 stop 项目别名|执行路径
重启:
pm2 reload 项目别名
删除:
pm2 delete id
查看添加哪些node服务:
pm2 list
查看监控:
pm2 monit
nuxt项目
1. npm run build,进行打包
2. 把.nuxt、nuxt.config.js和package.json文件打包到压缩包,上传至服务器、解压、安装依赖,通过pm2部署即可
3. 解压压缩包
unzip 包路径 -d 解压到哪个目录
3. 安装依赖模块
进入项目目录下,cnpm install
4. pm2部署
cd至项目目录下;
指定启动添加命令: // 顺序是固定的
[root@zezhou /project/zezhou_blog]$pm2 start npm --name zezhou_blog -- run start
以上配置完,单个形式算是完成了,客户端访问nuxt形式就可以用了
二、加上tengine形式
流程:通过tengine做反向代理,让用户访问tengine,tengine转发请求到nuxt
好处:tengine做负载均衡、https等等都很方便,文档也有很多,如果要部署多台nuxt或后端,要用到
tengin安装配置
1. 下载,找到对得版本下载上
http://tengine.taobao.org/download_cn.html
2. 安装依赖
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
3. 解压包
切换至/opt目录下
把下载好的包传到这个目录中
tar xf tengine-2.3.1.tar.gz
cd tengine-2.3.1/
4. 指定安装目录
./configure --prefix=/opt/tngx231/
5. 编译、安装
make && make install
6. 配置环境变量
vim /etc/profile在PATH中添加:/opt/tngx231/sbin/nginx
source /etc/profile
7. 完毕
tengine配置
vim /opt/tngx232/conf/nginx.conf
可粘贴得:
upstream nuxt_addr{ server 127.0.0.1:8080; } upstream koa_addr{ server 127.0.0.1:9000; } server { listen 80; server_name localhost; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Nginx-Proxy true; proxy_cache_bypass $http_upgrade; proxy_pass http://nuxt_addr; } location /api { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Nginx-Proxy true; proxy_cache_bypass $http_upgrade; proxy_pass http://koa_addr; } location /static{ root /project/zezhou_blog_back_end_koa2; }
效果: // 80端口访问得