当前位置: 首页 > news >正文

使用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,并进行了相关配置。你可以根据实际需要进行进一步的配置和定制。

http://www.lryc.cn/news/249232.html

相关文章:

  • VMware系列:Vmware vSphere常见问题及解决办法
  • 基于web宠颐生宠物医院系统设计与实现
  • 二、Gitee使用方法
  • 【C++】string模拟
  • python高级练习题库实验1(A)部分
  • 数据库应用:MongoDB 数据备份与恢复
  • MySQL-函数
  • 【12】Python函数专题(下)
  • 国标GB28181协议/RTSP视频监控汇聚平台EasyCVR(V.3.4)页面UI大更新
  • 生成式AI与预测式AI的主要区别与实际应用
  • 【JavaEE】多线程 -- 死锁问题
  • XTU OJ 1339 Interprime 学习笔记
  • 【Web安全】xss攻击方式与绕过
  • 文件夹重命名技巧:用关键词替换文件夹名称指定内容的右侧文字
  • python pip安装第三方包时报错 error: Microsoft Visual C++ 14.0 or greater is required.
  • 对 .NET程序2G虚拟地址紧张崩溃 的最后一次反思
  • HCIA-RS基础-静态路由协议
  • LeetCode(46)汇总区间【区间】【简单】
  • 数据预处理:随机裁剪放缩
  • RabbitMQ 搭建和工作模式
  • 一起学docker系列之七docker容器卷技术
  • Loki安装部署
  • php如何实现文件上传
  • 实验8配置工具
  • 论文笔记:详解NEUPSL DSI
  • shared_ptr子类指针转换成父类指针
  • 五、cookie、session、token、localstroage、sessionStroage区别
  • 基于SpringBoot的在线视频教育平台的设计与实现
  • Vue 2.0源码分析-渲染函数render
  • 阿里云国际短信业务网络超时排障指南