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 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端口访问得

原文地址:https://www.cnblogs.com/zezhou/p/14432439.html