Vue Cli搭建域名服务器常见问题
Vue Cli不使用反向代理配置域名
通过npm run serve
命令执行Vue项目只能通过IP地址来访问,即使域名服务中设置DNS依然访问不到。有以下两种解决办法:
1、根目录下新建并配置vue.config.js文件
module.exports = {
devServer: {
open: process.platform === 'darwin',
host: '0.0.0.0',//改为域名
port: 8080,//改为端口80
https: false,
hotOnly: false,
proxy: null, // string | Object
before: app => {}
}
}
2、修改项目根目录下package.json文件
//第5行
"scripts": {
"serve": "vue-cli-service serve --host 你的域名 --port 80",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
以上为Vue Cli不使用反向代理配置域名的解决办法,虽然实现了效果。运行run npm serve就可以在自己域名看到页面,但是从安全性以及拓展性考虑,建议以反向代理实现较为合适,在此不做展开。
vsftpd上传文件进行覆写时提示open for write: permission denied
笔者使用FileZilla作为FTP文件管理工具。
按照一般解决方式:
1、在liunx命令行中运行
sudo chown 777 需要提权的目录
可以将权限提高
2、重启ftp服务器
sudo systemctl restart vsftpd.service
以上步骤做完之后,如果依然报错。这时需要第三步:
3、在FileZilla中设置权限。
打开右击服务器中需要上传操作的文件。选择文件属性(File Attributes)。在弹窗中勾选权限,或者直接输入777确认。再次上传文件,可以看到久违的File transfer successful。
关闭执行npm run serve命令后的进程
在连接Liunx服务器中可能由于服务器不稳定而断开,之前的实例来不及关闭就结束了。这个时候可以使用进程管理命令来关闭之前运行的进程。
1、查看进程列表
找到COMMAND中包含vue-cli-service serve的进程。记录对应PID。
ps aux
2、中止进程运行
如PID为501,则运行kill 501
kill 进程的PID
持久化运行npm run serve
Vue项目在用npm run serve运行时间过长或断开连接时进程会被意外停止,如何保持npm run serve连接。我们可以使用PM2来解决:
安装pm2
sudo npm install pm2@latest -g
运行Vue项目
以项目名为vuesite为例,输入以下命令
//cd到项目根目录
pm2 start npm --name vuesite -- run serve
查看运行状态
pm2 list
┌──────────┬────┬─────────┬──────┬───────┬────────┬─────────┬────────┬──────┬───────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├──────────┼────┼─────────┼──────┼───────┼────────┼─────────┼────────┼──────┼───────────┼──────┼──────────┤
│ vuesite │ 0 │ N/A │ fork │ 21238 │ online │ 66 │ 2m │ 0.5% │ 49.4 MB │ root │ disabled │
└──────────┴────┴─────────┴──────┴───────┴────────┴─────────┴────────┴──────┴───────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
停止进程
pm2 stop vuesite