乐优商城

1.项目介绍

1.1.项目简介

1.2.系统架构

乐优商城架构缩略图:

1573821025276

整个乐优商城可以分为两部分:后台管理系统、前台门户系统。

1.3.技术选型

前端技术:

后端技术:

2.项目结构

另:leyou-demo(乐优商城demo练习项目),包括:Spring Cloud组件(Eureka、Zuul、Robbin、Feign、Hystix)学习、Elasticsearch和Spring Data Elasticsearch学习、RabbitMQ和Spring AMQP学习、阿里大于学习

3.资料

3.1.数据库

leyou.sql

3.2.配置文件

3.2.1.hosts

# 乐优商城
127.0.0.1 api.leyou.com # 网关Zuul
127.0.0.1 manage.leyou.com # 后台系统
127.0.0.1 www.leyou.com # 乐优门户
192.168.56.101 image.leyou.com  # 图片服务器,虚拟机地址

3.2.2nginx

# 乐优商城
server {
    listen       80;
    server_name  manage.leyou.com;

    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location / {
        proxy_pass http://127.0.0.1:9001;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
    }
}
server {
    listen       80;
    server_name  api.leyou.com;

    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    # 转发时,携带自身的host,而不是转发后的host(127.0.0.1)
    proxy_set_header Host $host;

    # 上传路径的映射
    location /api/upload {  
        proxy_pass http://127.0.0.1:8082;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
        # 对请求路径进行重写 eg:/api/upload/image -> /upload/image
        rewrite "^/api/(.*)$" /$1 break; 
    }

    location / {
        proxy_pass http://127.0.0.1:10010;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
    }
}
# 乐优门户
server {
    listen       80;
    server_name  www.leyou.com;

    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    location /item {
        # 先找本地
        root html/leyou;
        if (!-f $request_filename) { # 请求的文件不存在,就反向代理
            proxy_pass http://127.0.0.1:8084;
            break;
        }
    }

    location / {
        proxy_pass http://127.0.0.1:9002;
        proxy_connect_timeout 600;
        proxy_read_timeout 600;
    }
}