尝试前后端分离的开发,首先要先配置好服务器,现在就以用户中心的开发为例:

  • 域名:https://passport.hmgero.com
  • 服务器环境:ubuntu 16.04
  • 前端服务器:nginx
  • 后端api服务器:apache
  • 文件夹结构:平台根目录为/var/www/passport;前端静态文件目录/var/www/passport/web;后端api文件目录/var/www/passport/api;

下面配置的前提是服务器环境已经安装好了nginx和apache,同时已经申请了ssl证书,具体的安装方法和ssl配置https可以百度,这里不做讨论。

Nginx配置

nginx主要用力处理前端静态文静的请求和转发后端api的请求,在sites-available文件夹vim passport生成配置文件并链接到sites-enabled文件夹下,配置如下:

 server {
    listen 443;
    server_name passport.hmgero.com;

    ssl                  on;
    ssl_certificate      /etc/nginx/cert/passport.hmgero.com.crt;
    ssl_certificate_key  /etc/nginx/cert/passport.hmgero.com.key;

    ssl_session_timeout  5m;

    access_log   /var/log/nginx/passport.log;
    error_log    /var/log/nginx/passport_error.log;
    
    #根目录,同时作为前端页面目录
    location / {
        root /var/www/passport/web;
        index index.html;
    }
    
    #api处理地址,对应apache中的server name 地址
    location /api {
        proxy_pass http://127.0.0.1:8088/api;
    }
}

Apach配置

apache负责处理后端的api,同样的在sites-available文件夹vim passport-api.conf生成配置文件并链接到sites-enabled文件夹下,配置如下:

<VirtualHost *:8088>
    DocumentRoot "/var/www/passport"
    ServerName 127.0.0.1
    ErrorLog "/var/log/apache2/passport-api-error_log"
    CustomLog "/var/log/apache2/passport-api-access_log" common
    <Directory /var/www/passport>

            Options FollowSymLinks Multiviews
            MultiviewsMatch Any
            AllowOverride All
            Require all granted
        </Directory>
</VirtualHost>
支付宝扫码打赏 微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章

Shion.Jin

Read more posts by this author.