安装node
https://github.com/nodesource/distributions#installation-instructions-1
注意使用No root privileges方法安装
安装yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
安装nginx
//安装nginx的命令
sudo yum install epel-release
sudo yum install nginx
//让nginx随系统启动而启动
sudo systemctl enable nginx
//常用命令
//启动:nginx
//停止:nginx -s stop
//重载配置:nginx -s reload
//配置路径:/etc/nginx/nginx.conf
//日志路径:/var/log/nginx
nginx关键配置
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name domain.com www.domain.com;
root /home/client/;
location / {
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:7001/;
}
}
注意两个location和root,不要把vue的静态文件放在root目录下
注意最后一个location中,api和7001后面都有斜杠
nginx证书配置
server
{
listen 443;
server_name your-domain.com www.your-domain.com;
ssl on;
ssl_certificate /root/ssl/your-domain.crt;
ssl_certificate_key /root/ssl/your-domain.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
proxy_pass http://127.0.0.1:912;
}
}
server
{
listen 80;
server_name your-domain.com www.your-domain.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
为了调试方便,vue.config.js的配置如下
module.exports = {
devServer: {
proxy: {
'/api': {
target:'http://127.0.0.1:7001',
changeOrigin: true,
secure: false,
pathRewrite: {
'^/api': '/' //重写之后url为 http://127.0.0.1:7001/xxxx
//pathRewrite: {'^/api': '/api'} 重写之后url为 http://192.168.1.16:8085/api/xxxx
}
}
}
}
};
egg.js调试配置如下:config文件夹下plugin.js
module.exports = {
cors: {
enable: true,
package: 'egg-cors'
}
};
config.default.js:注意这里的配置是有些危险的,因为可能会同步到服务器上去
config.security = {
csrf: {
enable: false
},
domainWhiteList: [ '*' ]
};
config.cors = {
origin: '*',
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS'
};