使用Xshell部署nuxt项目

先熟悉下基础的命令及含义
/usr/local 是linux环境的根路径(root)

建立软连接 sudo ln -s 源文件 目标文件
举例:
	当前目录是/usr/local,而我经常要访问/usr/local/linux/work
	那么我就可以使用在local下建立一个文件linkwork,
	然后使用 sudo ln -s /usr/local/linux/work  /usr/local/linkwork
	即建立两者之间的链接。
删除链接 rm -rf /usr/local/linkwork
1、服务器安装环境 
	a/ 安装node (没有使用过这个方法或安装失败)
		1、下载node
			i:在node官网下载Linux 64的node文件,通过ftp上传至/usr/local/node文件夹下
				文件名:node-v12.13.0-linux-x64.tar.xz
			或者:
			ii:wget https://nodejs.org/dist/v12.13.0/node-vv12.13.0-linux-x64.tar.xz

		2、下载之后,由于是tar.xz格式的压缩文件,所以需要用下面的命令解压:
			打开xshell,连接上服务器,进入/usr/local/node文件夹下

			xz -d node-v12.13.0-linux-x64.tar.xz
			tar -xv -f node-v12.13.0-linux-x64.tar
			//或者
			tar -Jxv -f node-v12.13.0-linux-x64.tar

		3、添加环境变量
			vim  /etc/profile
			【vim命令】
				i             	进行编辑
				esc + :wq! 		保存并退出
				esc + :q!  		不保存并退出
			在最下面添加
				#node的解压目录 
				NODE_HOME=/usr/local/node/node-v12.13.0-linux-x64
				PATH=$PATH:$NODE_HOME/bin
				NODE_PATH=$NODE_HOME/lib/node_modules
				export PATH NODE_HOME NODE_PATH
			刷新环境变量:
				source /etc/profile
			查看环境变量:
				echo $PATH
			设置软连接,使得node在任何地方都能使用:(ps:最好是返回根目录: cd /)
				ln -s /usr/local/node/node-v12.13.0-linux-x64/bin/node  /usr/local/bin/node
				ln -s /usr/local/node/node-v12.13.0-linux-x64/bin/npm  /usr/local/bin/npm

		4、测试是否安装成功:(出现版本号就是成功)
				node -v
				npm -v
			
	a/ 安装node (我使用的方法)
		yum install nodejs
		
		测试是否安装成功:(出现版本号就是成功)
	 		若: node -v //出现版本号
				npm -v	//没有出现
			则: yum install npm
		
		建立软连接
			which node	// 显示路径 /usr/local/xxx/xx/node
			which npm	// 显示路径 /usr/local/xxx/xx/npm
			ln -s /usr/local/xxx/xx/node  /usr/local/bin/node
			ln -s /usr/local/xxx/xx/npm  /usr/local/bin/npm
		
	b/ 安装pm2
		PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
		1、安装pm2
			npm install pm2 -g
		2、建立软连接
			同理
			which pm2	// xxx/xx
			ln -s xxx/xx /usr/local/bin/pm2
		3、检测是否安装成功
			pm2 -v
			或者
			pm2 list

		
2、本地打包应用: npm run build
	将对应文件(可是是除 node_modules和.git之外的文件都压缩)压缩成 nuxt_project.zip
3、打包完成后,需上传文件夹/文件上传至服务器对应文件中
	主要文件 .nuxt static nuxt.config.js package.json等
	使用rz命令上传至服务器上 rz nuxt_project.zip 
	(输入rz回车弹出选择框选择上传的文件即可上传,若服务器该有文件,需先输入 rm nuxt_project.zip 回车 //删除文件)
		如果没有rz,可以使用 yum install lrzsz 下载
	输入 unzip nuxt_project.zip 解压文件并全覆盖
	
4、pm2开启进程守护
	进入项目文件:cd nuxt_project
	npm install			// 没有安装插件或更改package.json(即node_modules没有改变) 可以不用安装
	npm run start   		//检测是否报错,不能通过ip:3004正常访问
	pm2 start npm --name "进程名称" -- run start      //例如:进程名称==demo   pm2 start npm --name "demo"
	pm2 list  				//查看进程是否正常开启
	pm2 restart 进程名称/id		//重启守护进程   pm2 restart demo
	
5、通过域名访问,检测是否部署成功
提示 command not found的解决办法

这个提示是找不到命令
例如 npm pm2
但是我们在服务器上使用 npm -v pm2 -v 是可以查看到版本好的, 也就是安装好的

这个时候提示 command not found 是因为在自动部署的时候 使用的全局下的npm pm2 命令,在全局环境下 找不到这两个命令, 自然就报错了

为了验证, 可以执行 sudo npm -v sudo pm2 -v 也会提示 command not found
为了解决这个问题需要让npm pm2 建立软连接,相当于放在环境变量中

首先查看 npm 的安装位置

可以使用  whereis npm  查看npm 的安装路径, 如果  whereis npm   显示路径为空,

则使用  which npm  比如 这里显示的路径是  /usr/local/src/node-v16.8.3-linux-x64/bin/npm  

然后执行

sudo ln -s  /usr/local/src/node-v16.8.3-linux-x64/bin/npm  /usr/bin/npm
这就相当于把npm 链接到了 全局环境变量中

这时候在执行  sudo npm -v   就不报错了

同理,其他命令  只要是提示 command not found  的 都可以按照上面的方式解决

比如pm2 建立软连接:

sudo ln -s  /usr/local/src/node-v16.8.3-linux-x64/bin/pm2  /usr/bin/pm2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡小多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值