铭飞MS部署docker-compose方式

devtools/2025/1/16 0:54:33/

官网文档只有docker部署文档,给了一点启发,在此上部署一下用docker-compose,出个教程,方便大家学习

version: '3'services:nginx-web:image: nginx:1.21.3container_name: nginx-webenvironment:# 时区上海TZ: Asia/Shanghaiports:- "80:80"- "8080:8080"- "8585:8585"- "8181:8181"- "443:443"volumes:# 证书映射- /etc/letsencrypt:/etc/nginx/cert- /opt/docker/nginx/certbot:/usr/share/certbot/www# 配置文件映射- /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf# 日志目录- /opt/docker/nginx/log:/var/log/nginxprivileged: truerestart: alwaysnetworks:- kxmall_netmysql:container_name: mysql57image: mysql:5.7.31ports:- 3306:3306privileged: truevolumes:- $PWD/mysql57/log:/var/log/mysql- $PWD/mysql57/conf/my.cnf:/etc/mysql/my.cnf- $PWD/mysql57/data:/var/lib/mysqlenvironment:MYSQL_ROOT_PASSWORD: "xxxxxxx"command: ['--character-set-server=utf8mb4','--collation-server=utf8mb4_general_ci','--max_connections=3000']restart: alwaysnetworks:kxmall_net:ipv4_address: 172.30.0.59ms-mcms:container_name: ms-mcmsimage: anapsix/alpine-java:8environment:# 时区上海TZ: Asia/Shanghaivolumes:# 配置文件- /opt/docker/server/logs/:/ms/server/logs/- /opt/docker/server/mcms:/homeworking_dir: /homecommand: java -jar ms-mcms.jarprivileged: truerestart: alwaysnetworks:kxmall_net:ipv4_address: 172.30.0.60networks:kxmall_net:driver: bridgeipam:config:- subnet: 172.30.0.0/16

其中,nginx的配置文件内容

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 4096;client_max_body_size 10M;  # 设置为10MBinclude             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen       80;server_name  a.xxxx.vip;try_files $uri $uri/ /index.html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;gzip  on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_http_version 1.1;gzip_comp_level 9;gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;gzip_disable "MSIE [1-6]\.";gzip_vary on;error_page 404 /404.html;location = /404.html {}location / {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://server/;}location ~ /(static/mdiy) {proxy_pass http://localhost:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;add_header Access-Control-Allow-Origin $http_origin;add_header Access-Control-Allow-Credentials true;}error_page 500 502 503 504 /50x.html;location = /50x.html {}}upstream server {ip_hash;server 172.30.0.60:8080;}server {listen       443 ssl;server_name  a.kxmall.vip;# 配置服务器证书ssl_certificate  /etc/nginx/cert/live/a.xxx.vip/fullchain.pem;# 配置服务器私钥ssl_certificate_key /etc/nginx/cert/live/a.xxx.vip/privkey.pem;ssl_session_cache shared:SSL:1m;ssl_session_timeout  10m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://server/;}location ~ /(static/mdiy) {proxy_pass http://localhost:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;add_header Access-Control-Allow-Origin $http_origin;add_header Access-Control-Allow-Credentials true;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
}

其中,mysql的my.cnf文件

#!/bin/bash
mkdir -p /opt/mysql57/{conf,data,log}  #创建本地文件夹#新建配置文件
tee /opt/mysql57/conf/my.cnf<<-'EOF'
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1 #实现mysql不区分大小(开发需求,建议开启)
# By default we only accept connections from localhost
bind-address   = 0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
default-time_zone = '+8:00'# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
symbolic-links=0
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4EOF

项目结构

第一步:启动mysql,导入脚本

第二步:启动所有程序即可

第三步:如果访问不了,可以看下服务器的端口,安全组是否有开通。


http://www.ppmy.cn/devtools/105094.html

相关文章

【网络安全】网络安全防护体系

1.网络安全防护体系概述 1.1 网络安全的重要性 网络安全是保护网络空间不受恶意攻击、数据泄露和其他安全威胁的关键。随着数字化转型的加速&#xff0c;网络安全的重要性日益凸显&#xff0c;它不仅关系到个人隐私和企业机密的保护&#xff0c;还涉及到国家安全和社会稳定。…

503错误

503 Service Temporarily Unavailable 我在学习ES-IK分词器时restart es后发现刷新网页报了503错误 后面发现是由于浏览器缓存或存储的Cookies引起的&#xff0c;需要清除缓存和Cookies 然后在游览器设置中找到 ​​ 然后刷新发现可以了

利用session.upload_progress执行文件包含

1.session.upload_progress的作用&#xff1a; session.upload_progress最初是PHP为上传进度条设计的一个功能&#xff0c;在上传文件较大的情况下&#xff0c;PHP将进行流式上传&#xff0c;并将进度信息放在Session中&#xff08;包含用户可控的值&#xff09;&#xff0c;即…

Git介绍

一、Git是什么 Git 是一个分布式版本控制系统。它由 Linus Torvalds 于 2005 年创建&#xff0c;目的是为了管理 Linux 内核开发的版本控制。 二、Git的由来故事 最开始 Linux 的代码是通过 BitKeeper 这个分布式版本控制系统管理的&#xff0c;这个 BitKeeper 是 BitMover …

【Tools】什么是MapReduce

我们从不正视那个问题 那一些是非题 总让人伤透脑筋 我会期待 爱盛开那一个黎明 一定会有美丽的爱情 &#x1f3b5; 范玮琪《是非题》 MapReduce是一种用于处理和生成大规模数据集的编程模型和算法&#xff0c;它由Google公司提出并广泛应用于分布式计算领…

Python从入门到进阶教程文章分享汇总~持续更新

目录 一、Python语言基础1.1 基础语法1.2 练习1.2.1 选择题1.2.2 编程题 二、web方向2.1 flask2.2 django2.3 fastapi 三、爬虫方向3.1 爬虫基础3.2 Scrapy框架3.3 反爬3.5 爬虫架构3.6 案例 四、数据分析和ai4.1 数据分析4.2 AI 五、Python常用模块&#xff0c;内置函数与方法…

Python 爬虫爬取京东商品信息

Python 爬虫爬取京东商品信息 下面我将逐一解释每一部分的代码 导入库 from selenium import webdriver from selenium.webdriver.edge.service import Service from selenium.webdriver.edge.options import Options import time import random import csv from selenium.co…

阿里云云盘手动扩展方法

在Linux操作系统内扩容分区和文件系统_云服务器 ECS(ECS)-阿里云帮助中心 扩容示例 本节以MBR分区、GPT分区、裸数据盘为例展示扩容分区和文件系统的操作命令&#xff0c;供您参考。在实际扩容过程中&#xff0c;请您以实际环境为准。 示例1&#xff1a;扩容MBR分区和ext4文…