使用Docker一键安装MySQL与Nginx脚本

在项目开发和部署过程中,使用Docker可以方便地快速搭建和管理数据库(MySQL)以及Web服务器(Nginx)。本教程将为你提供一份一键安装脚本。

安装Docker

首先,确保你的系统已经安装了Docker。如果没有安装,你可以参考我的另一篇文章:CentOs一键安装Docker

一键脚本

#!/bin/bash

# 创建MySQL数据存储目录
sudo mkdir -p /data/mysql

# 运行MySQL容器
sudo docker run -d \
  --name=mysql-container \
  -e MYSQL_ROOT_PASSWORD=your_password_here \
  -p 3306:3306 \
  -v /data/mysql:/var/lib/mysql \
  mysql:5.7

# 创建Nginx配置和日志目录
sudo mkdir -p /data/nginx/config
sudo mkdir -p /data/nginx/html
sudo mkdir -p /data/nginx/log
sudo mkdir -p /data/nginx/ssl

# 创建Nginx默认配置文件,包含443重定向及ssl配置,请自行替换
sudo tee /data/nginx/config/default.conf > /dev/null <<EOL
server {
    listen 80;
    server_name  www.xxxx.cn;
    rewrite ^(.*) https://\$server_name\$1 permanent;
}
server {
    listen 443 ssl;
    server_name www.ehubuddy.cn;
    ssl_certificate /etc/nginx/ssl/www.xxx.cn.pem;
    ssl_certificate_key /etc/nginx/ssl/www.xxx.cn.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers  'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384';
    ssl_prefer_server_ciphers on;

    location / {
        root /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location /backend {
        proxy_pass https://www.xxx.cn:8081/;
        proxy_ssl_server_name on;
        proxy_set_header Host \$host;
    }
}
EOL

# 运行Nginx容器
sudo docker run -d \
  --name=nginx-container \
  -p 80:80 \
  -p 443:443 \
  -v /data/nginx/html:/usr/share/nginx/html \
  -v /data/nginx/config:/etc/nginx/conf.d \
  -v /data/nginx/log:/var/log/nginx \
  -v /data/nginx/ssl:/etc/nginx/ssl \
  nginx:latest

将上述脚本保存到一个文件,比如install_mysql_nginx.sh,然后给予执行权限并运行:

chmod +x install_mysql_nginx.sh
./install_mysql_nginx.sh

这将自动执行安装MySQL和Nginx的所有步骤,包括默认的Nginx配置。如有问题,请随时提问。

运行脚本后,Nginx容器将在后台启动,并且相关目录将被挂载到宿主机。你可以在/data/nginx/config目录中放置你的Nginx配置文件,/data/nginx/html目录中放置静态网页文件,/data/nginx/log目录中查看Nginx日志。

这样,你就成功使用Docker一键安装了MySQL和Nginx,并进行了相关配置。你可以根据实际需要进行进一步的配置和定制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要实现一键离线部署 MySQL、Redis、Nacos 和 Nginx,你可以使用 Docker Compose 和 Docker 镜像。首先,你需要准备相应的镜像文件并将其加载到 Docker 中。在加载这些镜像之前,你需要确保已经从官方源或其他可信渠道下载了这些镜像。 以下是一个示例的 `docker-compose.yml` 文件,其中包含了 MySQL、Redis、Nacos 和 Nginx 的配置: ```yaml version: '3' services: mysql: build: context: ./mysql dockerfile: Dockerfile restart: always ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./mysql_data:/var/lib/mysql redis: image: redis:latest restart: always ports: - 6379:6379 nacos: build: context: ./nacos dockerfile: Dockerfile restart: always ports: - 8848:8848 nginx: build: context: ./nginx dockerfile: Dockerfile restart: always ports: - 80:80 ``` 在以上示例中,MySQL、Nacos 和 Nginx 使用了自定义的 Dockerfile 来构建镜像。你需要在相应的目录下创建适当的 Dockerfile,以便构建这些镜像。Redis 使用了官方提供的最新版本的镜像。 MySQL 的配置与之前一样,将容器内的 3306 端口映射到主机的 3306 端口。MySQL 的数据也会被挂载到主机的 `./mysql_data` 目录下。 Nacos 和 Nginx 的构建步骤类似于 MySQL。你需要在 `./nacos` 和 `./nginx` 目录下创建适当的 Dockerfile,并编写相应的构建脚本。 在准备好 Dockerfile 后,你可以使用 `docker-compose up -d` 命令来启动这些容器。使用 `-d` 参数可以在后台运行容器。 一旦容器启动成功,你就可以通过相应的端口访问 MySQL、Redis、Nacos 和 Nginx。例如,使用 `localhost:3306` 访问 MySQL,`localhost:6379` 访问 Redis,`localhost:8848` 访问 Nacos,`localhost:80` 访问 Nginx。 希望这对你有帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿S先森丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值