一、安装node、npm
# Ubuntu 16.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
# Ubuntu 18.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install libssl1.0-dev nodejs-dev node-gyp npm
二、更新npm的包镜像
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
三、安装n管理器(用于管理nodejs版本)
# 安装n模块
sudo npm install -g n
# 升级node.js到最新的稳定版本
sudo n stable
重启一下终端,node -v看一下版本,就可以发现我们已经升级到最新版本了
四、更新npm
npm包的更新其实就是自己更新自己
sudo npm install -g npm
三、安装pm2
npm install -g pm2
四、上传项目到服务器
本地运行npm run build打包,然后把.nuxt、static、nuxt.config.js、package.json、package-lock.json上传到服务器
// .nuxt
// static
// nuxt.config.js
// package.json
// package-lock.json
五、运行项目
方式一:上传好后,运行npm install安装依赖
最后运行npm run start启动项目
npm install
npm run start
方式二:使用git拷贝整个项目到项目目录
然后依次执行
npm install
npm run build
npm run start
六、pm2 守护开启进程
在项目的根目录下,执行一下命令。启动nuxt项目
pm2 start npm --name "product_name" -- run start
可以用 pm2 list 看到当前所有node进程列表。
关于pm2的使用,请访问:https://juejin.im/post/5be406705188256dbb5176f9
顺利的话,nuxt项目已经启动起来了,但是只能内网IP进行访问。
此时,可以使用nginx做反向代理 通过外网来访问nuxt项目
七、nginx配置
server{
listen 80;
server_name xxx.xxxx.com;公网地址
gzip on;
gzip_types text/plain application/xml text/css application/javascript;
gzip_min_length 1000;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 1m;
proxy_connect_timeout 1m;
# http://127.0.0.1 + nuxt启动端口
proxy_pass http://127.0.0.1:8004
}
}
八、重启nginx
进入nginx的sbin目录下(/user/local/nginx/sbin)
./nginx -s reload