vue+express部署阿里云centos服务器
服务器选用:阿里云CentOS 6.8 64位(大学生好像一年10块噢,学生真好!)
项目整体:使用vue-cli构建前端项目,使用express框架处理前端对数据的查询等,主要对数据库操作。
在此记录下遇到的坑。
一、使用XShell连接服务器
连接主机的是阿里的公网ip
输入密码即登录成功。
二、将vue项目打包部署到服务器上
1. 首先,在build/index.js下修改build的内容,将assetsPublicPath修改为'./',如下
然后npm run build 打包,
这是因为打包的dist文件夹中两者是并列关系, 所以上面才修改。
2. 通过ftp(filezilla)或wdcp后台管理上传打包的dist.zip,然后再解压。此次我上传的位置是opt文件夹。
如果在后台解压不成功则用xshell命令:unzip dist.zip
三、 部署nginx(使能通过网址访问该文件夹)
安装nginx
1. 在xshell,yum install nginx ,输入y确定
2. service nginx start 启动
3. 通过命令nginx -t查看nginx的安装目录,默认在/etc/下
4. 进入nginx文件夹修改 cd /etc/nginx , vim nginx.conf
在http模块增加server, 其中location /api/ 是代理用的。
完成配置后,按esc退出编辑模式,输入:wq 退出保存
接着nginx -s reload 重启nginx配置,如果重启失败,输入 nginx -c /etc/nginx/nginx.conf, 然后再次重启。
我设置的是8888端口,因此要在阿里服务器开放端口。
五、服务器node安装
因为是用express,所以安装node
- 输入命令
wget https://nodejs.org/dist/v10.8.0/node-v10.8.0-linux-x64.tar.xz
回车,等待安装。注意,前面的链接中的v10.8.0是node版本号,可修改版本号安装子集需要的node版本。 - 安装完成后,输入命令
tar xvf node-v10.8.0-linux-x64.tar.xz
回车进行解压操作。 - 输入
mv node-v10.8.0-linux-x64 /usr/local/node
回车, mv命令移动并改名。此时可切换到/usr/local/node目录下,使用ls
命令查看下面的文件。 - 输入命令
vi ~/.bash_profile
进入.bash_profile文件的编辑,按i
开始编辑,然后在文件的export PATH前一行添加PATH=$PATH:/usr/local/node/bin
添加完成后按:wq
退出并保存文件。 - 运行
source ~/.bash_profile
命令。 - 此时输入命令
node -v
和npm -v
可查看node和npm命令是否配置成功。如显示了版本号则表示安装成功。
六、上传后端项目,
同理,打包后端项目上传再解压,因为涉及到数据库,我是使用navicat连接阿里云的数据库进行操作。
,这里填的是mysql的密码,使用ssh连接,
,这里填的是登录的密码
其中连接遇到1130错误,这是因为阿里服务器没开远程连接的权限,
同样在xshell上对服务器进行操作:
1.登入mysql
2.GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
3.flush privileges;
同时还不要忘了在阿里服务器开放3306端口。
上传步骤:
1. 要记得你express的端口与你配置的端口是一致的,即前面的proxy_pass。
2. 由于前面配置是 ,
我经过接收到404错误后,意识到要修改路由,即在app.js,增加一个api
3. 压缩解压
4. 在服务器npm install安装
5. 要永久运行,npm install pm2 -g
pm2 start bin/www
至此结束!
文章参考了https://blog.****.net/qq_33036599/article/details/82789666
https://segmentfault.com/a/1190000008725179