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

Docker 安装和配置 Nginx 详细图文教程

🚀 作者主页: 有来技术
🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template
🌺 仓库主页: GitCode︱ Gitee ︱ Github
💖 欢迎点赞 👍 收藏 ⭐评论 📝 如有错误敬请纠正!

目录

  • 1. 环境准备
  • 2. 创建挂载目录
  • 3. 编写 Nginx 配置文件
  • 4. 拉取 Nginx 容器
  • 5. 启动 Nginx 容器
  • 6. 验证安装
  • 7. 配置 SSL(可选)
  • 8. 结语

Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛用于处理高并发的 Web 流量。在这篇文章中,通过 Docker 快速安装并配置 Nginx。

1. 环境准备

首先,确保你的系统已安装 Docker。如果尚未安装 Docker,请参考相关文档进行安装:

  • Linux (CentOS 9) 安装 Docker
  • Linux (CentOS 8) 安装 Docker
  • Windows 安装 Docker

2. 创建挂载目录

在安装和配置 Nginx 之前,首先需要创建一些目录,用于存放 Nginx 配置文件、网页文件、日志文件和 SSL 证书等。

sudo mkdir -p /mnt/nginx/{conf.d,html,logs,ssl}
目录路径核心用途
/mnt/nginx/conf存放自定义配置文件
(如虚拟主机配置)
/mnt/nginx/html网站静态资源
(HTML/CSS/JS/图片)
/mnt/nginx/logs存储访问日志/错误日志
(access.log, error.log)
/mnt/nginx/sslHTTPS证书文件
(.crt, .key, .pem)

3. 编写 Nginx 配置文件

/mnt/nginx/nginx.conf 目录下创建一个自定义的 Nginx 配置文件,执行以下命令:

sudo touch /mnt/nginx/nginx.conf

接下来,使用以下配置来部署 vue3-element-admin 项目的前端应用,并代理后端 API:

worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;# 开启gzipgzip on;gzip_http_version 1.1;gzip_disable "MSIE [1-6]\.";gzip_min_length 1k;gzip_buffers 16 64k;gzip_comp_level 5;gzip_vary on;gzip_types text/plain application/javascript text/css;server {listen 80;server_name localhost;location / {# 指定前端静态资源路径# 需将 vue3-element-admin 项目构建后的 dist 目录拷贝至 /usr/share/nginx/html/vueroot /usr/share/nginx/html/vue;index index.html index.htm;}# 代理后端 API 请求location /prod-api/ {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 后端服务地址,注意保留 URL 末尾的 `/`proxy_pass https://api.youlai.tech/;}}
}

4. 拉取 Nginx 容器

docker pull nginx

5. 启动 Nginx 容器

使用以下命令在 Docker 中启动 Nginx 容器,并挂载自定义配置文件和网页文件:

docker run -it -d --restart always --network host \--name nginx \-v /mnt/nginx/nginx.conf:/etc/nginx/nginx.conf \-v /mnt/nginx/html:/usr/share/nginx/html \-v /mnt/nginx/logs:/var/log/nginx/ \-v /mnt/nginx/ssl:/etc/nginx/ssl \nginx
参数功能说明
--network host网络模式
--name nginx容器命名
-v [宿主机路径]:[容器路径]数据卷挂载
/mnt/nginx/nginx.conf:/etc/nginx/nginx.conf挂载主配置文件
/mnt/nginx/html:/usr/share/nginx/html挂载网站文件
/mnt/nginx/logs:/var/log/nginx/持久化存储日志
/mnt/nginx/ssl:/etc/nginx/ssl挂载SSL证书

在这里插入图片描述

6. 验证安装

7. 配置 SSL(可选)

如果您需要启用 HTTPS,可以通过 阿里云数字证书管理 申请免费的 SSL 证书。申请完成后,下载适用于 Nginx 服务器的证书文件。
在这里插入图片描述

下载后,解压并将 SSL 证书放置到 /mnt/nginx/ssl 目录下。

接下来,在 Nginx 配置文件 nginx.conf 中添加以下配置来启用 HTTPS:

server {listen 443 ssl;server_name vue.youlai.tech;# 配置 SSL 证书路径ssl_certificate ssl/vue.youlai.tech.pem;ssl_certificate_key ssl/vue.youlai.tech.key;location / {root /usr/share/nginx/html/vue;index index.html index.htm;}# 设置反向代理接口location /prod-api/ {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 后端服务地址,注意保留 URL 末尾的 `/`proxy_pass https://api.youlai.tech/;}
}

确保 SSL 证书的路径设置正确,并且 Nginx 配置无误。完成配置后,重新加载 Nginx 以使更改生效:

docker exec -it nginx nginx -s reload

8. 结语

通过 Docker 快速搭建并配置 Nginx 服务,可以极大地简化部署过程,并使得管理和维护更加高效。希望本文能帮助你在生产环境中顺利运行 Nginx,并通过合理配置优化其性能和安全性。

相关文章:

Docker 安装和配置 Nginx 详细图文教程

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 …...

基于Java+Swing+Mysql实现旅游管理信息系统

基于JavaSwingMysql实现旅游管理信息系统 一、系统介绍二、功能展示1.登陆2.注册3.旅游信息查询4.查看游行团信息5.报名6、报名信息管理 三、数据库四、其它1.其他系统实现五.获取源码 一、系统介绍 用户:登陆、注册、旅游信息查询、查看游行团信息、报名 管理员&a…...

使用 Openpyxl 操作 Excel 文件详解

文章目录 安装安装Python3安装 openpyxl 基础操作1. 引入2. 创建工作簿和工作表3. 写入数据4. 保存工作簿5. 加载已存在的Excel6. 读取单元格的值7. 选择工作表 样式和格式化1. 引入2. 设置字体3. 设置边框4. 填充5. 设置数字格式6. 数据验证7. 公式操作 性能优化1. read_only/…...

统信服务器操作系统V20 1070A 安装docker新版本26.1.4

应用场景: 硬件/整机信息:x86平台、深信服超融合平台 OS版本信息:统信V20 1070a 1.获取docker二进制包 链接: https://pan.baidu.com/s/1SukBlra0mQxvslTfFakzGw?pwd5s5y 提取码: 5s5y tar xvf docker-26.1.4.tgz groupadd docker ch…...

【数据分享】1929-2024年全球站点的逐年降雪深度数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 有关气象指标的监测站点数据,之前我们分享过1929-2024年全球气象站…...

python爬虫系列课程1:初识爬虫

python爬虫系列课程1:初识爬虫 一、爬虫的概念二、通用爬虫和自定义爬虫的区别三、开发语言四、爬虫流程一、爬虫的概念 网络爬虫(又被称为网页蜘蛛、网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动抓取互联网信息的程序。原则上,只要是…...

大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何选择?

简介:在人工智能飞速发展的今天,大模型已经成为推动技术革新的核心力量。无论是智能客服、内容创作,还是科研辅助、代码生成,大模型的身影无处不在。然而,面对市场上琳琅满目的工具,如何挑选最适合自己的那…...

什么是语料清洗、预训练、指令微调、强化学习、内容安全; 什么是megatron,deepspeed,vllm推理加速框架

什么是语料清洗、预训练、指令微调、强化学习、内容安全 目录 什么是语料清洗、预训练、指令微调、强化学习、内容安全语料清洗预训练指令微调强化学习内容安全什么是megatron,deepspeed,vllm推理加速框架语料清洗 语料清洗是对原始文本数据进行处理的过程,旨在去除数据中的…...

HTTP的“对话”逻辑:请求与响应如何构建数据桥梁?

一、前言 作为现代互联网通信的基石,HTTP协议定义了客户端与服务器之间的“对话规则”。每一次网页加载、API调用或文件传输的背后,都离不开精心构造的HTTP请求与响应。请求中封装了用户的意图——从请求方法、资源路径到提交的数据;响应则承…...

【深度学习】预训练和微调概述

预训练和微调概述 1. 预训练和微调的介绍1.1 预训练(Pretraining)1.2 微调(Fine-Tuning) 2. 预训练和微调的区别 预训练和微调是现代深度学习模型训练中的两个关键步骤,它们通常是一个 预训练-微调 (Pretrain-Finetune…...

自动化测试框架搭建-单次接口执行-三部曲

目的 判断接口返回值和提前设置的预期是否一致,从而判断本次测试是否通过 代码步骤设计 第一步:前端调用后端已经写好的POST接口,并传递参数 第二步:后端接收到参数,组装并请求指定接口,保存返回 第三…...

【阮一峰】2.数组

数组 简介 所有成员的类型必须相同,但是成员数量是不确定的。 由于成员数量可以动态变化,所以 TypeScript 不会对数组边界进行检查,越界访问数组并不会报错。 第一种写法: let arr: (number | string)[];第二种写法&#xff…...

DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智…...

【Java Card】Applet 使用Shareable进行数据分享以及部分问题处理

文章目录 前言一、定义接口二、server端实现三、client端实现四、遇到的问题 前言 在进行开发时,可能会将业务放到不同的applet中,这时常常会需要进行数据的分享。 比如在一个applet中存储了密钥,而在另一个业务applet中需要进行签名时&…...

国产FPGA开发板选择

FPGA开发板是学习和开发FPGA的重要工具,选择合适的开发板对学习效果和开发效率至关重要。随着国产FPGA的发展,淘宝上的许多FPGA开发板店铺也开始进行国产FPGA的设计和销售,本文将对国产FPGA和相关店铺做个简单梳理,帮助有需要使用…...

com.typesafe.config

com.typesafe.config 是 Typesafe Config 库的核心包,主要用于 统一、灵活地管理应用程序配置,支持从多种格式(如 HOCON、JSON、Java Properties)加载配置,并提供类型安全的访问接口。以下是其核心功能的详细解析&…...

Ubuntu学习备忘

1. 打开Terminal快捷键 ctrl alt t 2.Ubuntu22.04的root没有默认初始密码, 为root设置密码,下面链接的step1, How to allow GUI root login on Ubuntu 22.04 Jammy Jellyfish Linux - LinuxConfig...

【C++】— 掌握STL vector 类:“Vector简介:动态数组的高效应用”

文章目录 1.vector的介绍和使用1.1vector的介绍1.2 vector的特点1.3vector的使用1.3.1vector的定义1.3.2vector iterator的使用1.3.3vector 的空间增长问题1.3.4 vector 的增删查改1.3.5vector 迭代器失效问题 1.vector的介绍和使用 1.1vector的介绍 vector是一个顺序容器&am…...

Docker__持续更新......

Docker 1. 基本知识1.1 为什么有Docker?1.2 Docker架构与容器化 画图解释 画图解释2. 项目实战 1. 基本知识 1.1 为什么有Docker? 用一行命令跨平台安装项目,在不同平台上运行项目。把项目打包分享运行应用。 1.2 Docker架构与容器化 准备机器,在机…...

【R语言】主成分分析与因子分析

一、主成分分析 主成分分析(Principal Component Analysis, PCA)是一种常用的无监督数据降维技术,广泛应用于统计学、数据科学和机器学习等领域。它通过正交化线性变换将(高维)原始数据投影到一个新的坐标系&#xff…...

告别重复敲命令!用MobaXterm宏一键搞定服务器日常巡检(附日志监控宏配置)

告别重复敲命令!用MobaXterm宏一键搞定服务器日常巡检(附日志监控宏配置) 每次登录服务器都要重复输入相同的检查命令?磁盘空间、内存占用、服务状态、日志跟踪...这些日常巡检操作既耗时又容易遗漏关键指标。今天分享一个实战技巧…...

PyTorch 2.8镜像开发者实践:AI绘画社区用该镜像快速上线Stable Video WebUI

PyTorch 2.8镜像开发者实践:AI绘画社区用该镜像快速上线Stable Video WebUI 1. 为什么选择PyTorch 2.8镜像 对于AI绘画社区的技术团队来说,搭建一个稳定高效的视频生成环境一直是个挑战。传统方式需要从零开始配置CUDA环境、安装各种依赖库&#xff0c…...

全球短视频内容创作的技术挑战与Pixelle-Video的分布式架构解决方案

全球短视频内容创作的技术挑战与Pixelle-Video的分布式架构解决方案 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 在全球化内容创作浪…...

用 5 秒视频讲述精彩开场:Pika 视频生成 API,短内容的突破点

在短内容的时代,第一印象决定了你是否还有机会讲述你的故事。Ace Data Cloud 的 Pika 视频 API 允许你将“励志句子/参考图像/参考视频”转换为 5-6 秒的高质量动态效果,非常适合短视频开场、产品亮点、表情包、动画广告和节目介绍等场景。 环境准备/前…...

Cursor Pro破解工具:如何永久免费使用AI编程助手?

Cursor Pro破解工具:如何永久免费使用AI编程助手? 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached y…...

曦智科技港股上市涨幅383%,低调沂景资本背后竟是400亿身家山东大亨!

曦智科技上市成现象级IPO今年港股IPO首日涨幅最大的公司是刚刚上市的曦智科技。截至收盘,曦智股价大涨383%,市值飙升至814亿港元,成为上半年的现象级IPO。“麻省理工物理学博士”“价值1亿的Nature论文”,天才科学家沈亦晨的创业故…...

如何彻底解决多语言应用兼容性问题:Locale Remulator终极配置指南

如何彻底解决多语言应用兼容性问题:Locale Remulator终极配置指南 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator Locale Remulator是一款基于Detours技术的系统区…...

Echo Pyramid智能语音底座开发实战与优化

1. Echo Pyramid 智能语音交互底座解析Echo Pyramid 是专为 M5Stack Atom 系列物联网控制器设计的智能语音交互底座,它让开发者能够快速构建远场语音识别、语音助手和语音控制等应用。作为一个硬件开发者,我最近深度体验了这款产品,发现它在音…...

Linux命令:telnet

telnet 命令 基本介绍 telnet 命令是一个用于远程登录的传统工具,它使用 Telnet 协议在客户端和服务器之间建立文本模式的连接。虽然它是一个较老的工具,并且安全性较低(明文传输),但在某些情况下仍然有一定的使用价值…...

HoRain云--Perl OOP编程

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…...