记录我首次在服务器上部署vue项目
1安装node
使用NVM安装。。
完成以下操作,使用NVM安装Node.js版本:
- 使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。
yum install git git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
- 激活NVM。
echo ". ~/.nvm/nvm.sh" >> /etc/profile source /etc/profile
- 列出Node.js的所有版本。
nvm list-remote
- 安装多个Node.js版本。
nvm install v16.6.1
- 运行
nvm ls
查看已安装的Node.js版本。本示例使用的版本为v7.4.0。返回结果如下所示。
[root@iZXXXXZ .nvm]# nvm ls -> v16.6.1
- 运行
nvm use <版本号>
可以切换Node.js版本。例如,切换Node.js版本至v7.4.0。返回结果如下所示。
[root@iZXXXXZ .nvm]# nvm use v16.6.1 Now using node v16.6.1
- 下载Node.js安装包。
wget https://nodejs.org/dist/v16.6.1/node-v16.6.1-linux-x64.tar.xz
- 解压文件。
tar xvf node-v16.6.1-linux-x64.tar.xz
- 创建软链接,您就可以在任意目录下直接使用node和npm命令。
ln -s /root/node-v16.6.1-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v16.6.1-linux-x64/bin/npm /usr/local/bin/npm
- 查看node、npm版本。
node -v npm -v
16.6.1版本号,这个是变化的,如果需要最新版本请去官网查看最新的版本号
二、拉取vue代码
git clone http://代码地址
npm install
如果报错安装cnpm
npm install -g cnpm --registry=https://registry.cpm.taobao.org
在使用cnpm install
有时是会遇到安装node-sass错误
这个时候单独安装一下node-sass
cnpm install node-sass
三、安装niginx
进入服务器目录 cd /usr/local/
1、安装nginx相关的依赖:gcc、pcre-devel、zlib-devel、openssl-devel。命令如下:
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下载:
wget https://nginx.org/download/nginx-1.9.9.tar.gz
3、解压:
tar -zxvf nginx-1.9.9.tar.gz
4、重命名文件夹为nginx:
mv nginx-1.9.9 nginx
5、进入目录:
cd nginx/6、创建log文件
mkdir logs7、设置权限
chmod 700 logs
8、安装配置
./configure --prefix=/usr/local/nginx
make
make install9、测试是否安装成功
./sbin/nginx -t
10、其它命令
重启nginx:在nginx目录下输入: ./sbin/nginx -s reload
复制一个文件夹到指定文件夹中: cp -r /home/vue3-music-app/dist/ /usr/local/nginx/html/
四、设置nginx
1、首先前端需要axosbaseURL设置成:http://99.*.*.*/music-next/
2、nginx的前端代码配置
在config文件在修改
location /music/ {
alias /home/vue3-music-app/dist/;
}3、node启动的接口代理(这里要和1当中的/music-next/一样)
location /music-next/ {
proxy_pass http://127.0.0.1:9002/;
}4、设置成功后,浏览器访问的url是:http://99.*.*.*/music/#/
5、浏览器中接口访问的是:http://99.*.*.*/music-next/api/***
其它补充总结
1、每次进入服务器都需要重新设置node版本(不然npm和node就是未找到命令): nvm use v16.6.1
2、这样设置就不需要每次重新use了,命令如下: nvm alias default 16.6.1
3、又发现一个问题关掉服务器链接窗口node服务就停止了,如何让node.js程序一直在后台运行呢?
1)安装forever: sudo npm install -g forever2)使用forever开启nodejs程序: forever start xxx.js
如果用npm start来运行程序,则用命令: forever start -c "npm start" 路径。
3)文件改动监听并自动重启: forever start -w XXX.js
4) 停止所有运行的:node App forever stopall
5) 停止其中一个:node App forever stop app.js
6)删除node_modules文件夹: 进入vue项目的根目录输入 rm -fr node_modules
7)另一种启动方法,当遇到forever安装不成功的可以使用这种方法:
1、新建一个文件为run.sh里面输入下面的内容
nohup npm start >nohup.out 2>&1 &
2、 启动这个文件在命令行中输入:sh run.sh
8) 使用pm2 启动
1、全局安装pm2 npm install -g pm2
2、用pm2启动node pm2 start app.js
如果报错pm2未找到命令
修改/etc/profile文件在末尾添加以下内容
export PATH="$PATH:/home/xx.xx/node-v8.11.3-linux-x64/bin" /home/xx.xx/node-v8.11.3-linux-x64这一段内容是node的安装路径 查找自己的node安装路径:npm prefix -g