在项目开发和部署过程中,使用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,并进行了相关配置。你可以根据实际需要进行进一步的配置和定制。
原文地址:https://blog.csdn.net/u014681799/article/details/134723134
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_40138.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。