eggjs+vue+nginx配置

安装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'
  };

  

posted @ 2020-03-02 21:53  liulun  阅读(2389)  评论(0编辑  收藏  举报