Last active
August 14, 2020 01:24
-
-
Save zzjtnb/44acae45d6b5f11b7443935750db8648 to your computer and use it in GitHub Desktop.
Debian 9上安装Node.js部署Nuxt项目
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 1.安装nodejs | |
要获得Distro-stable版本的Node.js,您可以使用apt包管理器。首先,刷新本地包索引: | |
```bash | |
sudo apt update | |
``` | |
然后从存储库安装Node.js包: | |
```bash | |
sudo apt install nodejs | |
``` | |
如果存储库中的软件包满足您的需求,那么您需要做的就是使用Node.js进行设置。 | |
要检查在这些初始步骤之后安装了哪个版本的Node.js,请键入: | |
```bash | |
nodejs -v | |
``` | |
由于与另一个包冲突,所以Debian存储库中的可执行文件名叫nodejs而不是node。在运行软件时请记住这一点。 | |
# 2.项目部署 | |
在nuxt.js的官网介绍了3种部署方式,分别是服务端渲染应用部署,静态应用部署和单页面应用程序部署 (SPA),我需要使用服务端渲染应用部署。按照文档中的方式,我把整个项目放到了服务器,通过npm install安装好依赖包,先执行npm run build,然后npm run start。Ok,启动成功,访问一下,可以看到页面,功能也正常,但是总感觉不太对,怎么能直接把项目全部放进来呢?而且现在监听的端口号,关闭服务器就会把服务关掉了。 | |
## 使用pm2启动项目 | |
没办法,去查了一下谷歌,后面知道其实只要在本地build后,把.nuxt, static, package.json,nuxt.config.js这个4个文件打包放入服务器就行,然后在服务器安装依赖包。nuxt项目也可以使用pm2启动 | |
### 1.安装pm2设置软连接: | |
```bash | |
npm install pm2 -g | |
``` | |
### 2.cd到项目目录 | |
执行pm2 start npm --name "project-name" -- run start ,这里的name是启动的项目标识,执行pm2 list可以查看当前运行的项目。现在关闭服务器窗口,项目也是启动的。但是项目要通过域名访问,也就是默认80端口,这就要使用nginx反向代理来实现了。 | |
```bash | |
pm2 start npm --name 'project-name' -- start | |
``` | |
project-name,就是package.json里的name名 | |
# pm2命令 | |
```bash | |
pm2 start app.js # 启动app.js应用程序 | |
pm2 start app.js --name="demo" # 启动应用程序并命名为 "demo" | |
pm2 start app.js --watch # 当文件变化时自动重启应用 | |
pm2 start script.sh # 启动 bash 脚本 | |
pm2 list # 列表 PM2 启动的所有的应用程序 | |
pm2 show [app-name] # 显示应用程序的所有信息 | |
pm2 logs # 显示所有应用程序的日志 | |
pm2 logs [app-name] # 显示指定应用程序的日志 | |
pm2 stop all # 停止所有的应用程序 | |
pm2 stop 0 # 停止 id为 0的指定应用程序 | |
pm2 restart all # 重启所有应用 | |
pm2 restart 0 # 重启id为0 的应用程序 | |
pm2 delete all # 关闭并删除所有应用 | |
pm2 delete 0 # 删除指定应用 id 0 | |
pm2 startup # 创建开机自启动命令 | |
pm2 save # 保存当前应用列表 | |
``` | |
## Nginx | |
```bahs | |
server { | |
listen 80; | |
server_name www.test.com; | |
location / { | |
root /opt/deploy/front; # 前端文件目录 | |
proxy_pass http://127.0.0.1:3000; | |
} | |
} | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment