【Linux】Nginx配置域名+https&一个地址配置多个项目【项目实战】

【Linux】Nginx配置域名+https&一个地址配置多个项目【项目实战】
👨‍🎓博主简介

🏅ZEEKLOG博客专家
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗

文章目录

在这里插入图片描述

前言

要使用https,二进制安装编译时需要添加这些参数--with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_v2_module --with-http_realip_module --with-file-aio

./configure --prefix=/usr/local/nginx --with-threads --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_v2_module --with-http_realip_module --with-file-aio 
参数作用
--with-threads启用线程池(异步文件IO)
--with-http_ssl_moduleSSL/TLS支持(HTTPS必需)
--with-http_gzip_static_module预压缩静态文件(.gz直接发送)
--with-http_stub_status_module状态监控页(/nginx_status)
--with-http_v2_moduleHTTP/2协议支持
--with-http_realip_module获取真实IP(CDN场景)
--with-file-aio异步文件IO(大文件)

域名+https配置单个项目

①、首先将项目移动到html下;
②、将ssl证书移动到目的地;
③、然后进行nginx配置;

Nginx配置文件完整代码展示(主要在server段):

#user root; worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_type application/octet-stream; server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65;gzip on; gzip_vary on; gzip_types text/plain text/css application/json application/javascript; server { listen 80; server_name test.top www.test.top;# HTTP 重定向到 HTTPSreturn301 https://$server_name$request_uri;# 这里不需要配置local内容,会自动跳转到https,如果证书到期也会跳转,不依赖443;} server { listen 443 ssl http2; server_name test.top www.test.top;# SSL 配置 ssl_certificate /usr/local/nginx/conf/ssl/test.top.pem; ssl_certificate_key /usr/local/nginx/conf/ssl/test.top.key;# 会话缓存 ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m;# 协议与加密套件# 解决的目标主机支持RSA密钥交换、目标使用过期的TLS1.0 版协议两个漏洞 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';# 安全响应头 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff";# OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 114.114.114.114 valid=300s; resolver_timeout 5s;# 设置错误页面 error_page 404 /404.html; error_page 500502503504 /50x.html; location = /404.html { root /usr/local/nginx/html; internal;}# 如果是自定义404需要找图片,需要加上这个; location /404/ { root /usr/local/nginx/html;} location = /50x.html { root /usr/local/nginx/html; internal;} location / {# 写上项目地址 root html/blog_dist; index index.html index.htm; expires 30d;# 缓存 30 天 add_header Cache-Control "public, immutable";# 明确缓存语义# 关键:HTML不缓存(防更新后用户看到旧版) location ~* \.html$ { expires -1; add_header Cache-Control "no-cache";}}}}

这样页面访问时就可以是:https://test.top/

域名+https配置多个项目

①、首先将项目移动到html下;
②、将ssl证书移动到目的地;
③、然后进行nginx配置;

Nginx配置文件完整代码展示(主要在server段):

#user root; worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_type application/octet-stream; sendfile on;#tcp_nopush on;#keepalive_timeout 0; keepalive_timeout 65;#gzip on; server { listen 80; server_name test.top www.test.top;# HTTP 重定向到 HTTPSreturn301 https://$server_name$request_uri;# 这里不需要配置local内容,会自动跳转到https,如果证书到期也会跳转,不依赖443;} server { listen 443 ssl http2; server_name test.top www.test.top;# SSL 配置 ssl_certificate /usr/local/nginx/conf/ssl/test.top.pem; ssl_certificate_key /usr/local/nginx/conf/ssl/test.top.key;# 会话缓存 ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m;# 协议与加密套件# 解决的目标主机支持RSA密钥交换、目标使用过期的TLS1.0 版协议两个漏洞 ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';# 安全响应头 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff";# OCSP Stapling ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 114.114.114.114 valid=300s; resolver_timeout 5s;# 设置错误页面 error_page 404 /404.html; error_page 500502503504 /50x.html; location = /404.html { root /usr/local/nginx/html; internal;}# 如果是自定义404需要找图片,需要加上这个; location /404/ { root /usr/local/nginx/html;} location = /50x.html { root /usr/local/nginx/html; internal;}# 项目1(默认) location / { root /usr/local/nginx/html/project1; try_files $uri$uri/ /index.html;}# 项目2 location /p2 {alias /usr/local/nginx/html/project2; try_files $uri$uri/ =404;}# 项目3 location /p3 {alias /usr/local/nginx/html/project3; try_files $uri$uri/ =404;}}}

这样页面访问时就可以是:https://test.top/https://test.top/p2/https://test.top/p3/

域名不加https配置多个项目

①、首先将项目移动到html下;
②、然后进行nginx配置;

Nginx配置文件完整代码展示(主要在server段):

#user root; worker_processes 1; events { worker_connections 1024;} http { include mime.types; default_type application/octet-stream; sendfile on;#tcp_nopush on;#keepalive_timeout 0; keepalive_timeout 65;#gzip on; server { listen 80; server_name test.top www.test.top;# 设置错误页面 error_page 404 /404.html; error_page 500502503504 /50x.html; location = /404.html { root /usr/local/nginx/html; internal;}# 如果是自定义404需要找图片,需要加上这个; location /404/ { root /usr/local/nginx/html;} location = /50x.html { root /usr/local/nginx/html; internal;}# 项目1(默认) location / { root /usr/local/nginx/html/project1; try_files $uri$uri/ /index.html;}# 项目2 location /p2 {alias /usr/local/nginx/html/project2; try_files $uri$uri/ =404;}# 项目3 location /p3 {alias /usr/local/nginx/html/project3; try_files $uri$uri/ =404;}}}

这样页面访问时就可以是:http://test.top/http://test.top/p2/http://test.top/p3/

本机地址配置多个项目

本机地址配置多个项目这个其实和一个域名配置多个项目是一样的,只不过把server_name的域名换成localhost就行。

具体操作如下:

①、首先将项目移动到html下;
②、然后进行nginx配置;

Nginx配置文件完整代码展示(主要在server段):

 user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; # 设置错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /404.html { root /usr/local/nginx/html; internal; } # 如果是自定义404需要找图片,需要加上这个; location /404/ { root /usr/local/nginx/html; } location = /50x.html { root /usr/local/nginx/html; internal; } # 项目1(默认) location / { root /usr/local/nginx/html/project1; try_files $uri $uri/ /index.html; } # 项目2 location /p2 { alias /usr/local/nginx/html/project2; try_files $uri $uri/ =404; } # 项目3 location /p3 { alias /usr/local/nginx/html/project3; try_files $uri $uri/ =404; } } } 

这样页面访问的是时候就可以是:ip/ip/p2/ip/p3/

推荐一个优化nginx配置文件的页面:Nginx配置文件格式化

这里面还有很多格式化工具可以自己看看:https://tool.okcode.vip/

Nginx 404页面美化:Nginx 404页面美化

相关文章

文章标题文章连接
【Linux】nginx基础篇 – 介绍及yum安装nginxhttps://liucy.blog.ZEEKLOG.net/article/details/133928000
【Linux】环境下部署Nginx服务 - 二进制部署方式https://liucy.blog.ZEEKLOG.net/article/details/132145067
nginx配置负载均衡–实战项目(适用于轮询、加权轮询、ip_hash)https://liucy.blog.ZEEKLOG.net/article/details/133986013
nginx快速部署一个网站服务 + 多域名 + 多端口https://liucy.blog.ZEEKLOG.net/article/details/133986102
【Linux】Nginx一个域名https&一个地址配置多个项目【项目实战】https://liucy.blog.ZEEKLOG.net/article/details/144442148

相关专栏

❀《Linux从入门到精通》专栏 ❀❀《Nginx》专栏 ❀
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗

Read more

如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

它是免费的——社区驱动的人工智能💪。         当 OpenAI 第一次推出定制 GPT 时,我就明白会有越来越多的人为人工智能做出贡献,并且迟早它会完全由社区驱动。         但从来没有想过它会如此接近😂让我们看看如何在 Windows 机器上完全免费使用第一个开源推理模型!  步骤 0:安装 Docker 桌面         我确信很多人已经安装了它,所以可以跳过,但如果没有 — — 这很简单,只需访问Docker 的官方网站,下载并运行安装 👍         如果您需要一些特定的设置,例如使用 WSL,那么有很多指导视频,请查看!我将继续下一步。 步骤 1:安装 CUDA 以获得 GPU 支持         如果您想使用 Nvidia 显卡运行 LLM,则必须安装 CUDA 驱动程序。(嗯……是的,它们需要大量的计算能力)         打开CUDA 下载页面,

By Ne0inhk
在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无需依赖基于云的服务。  步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT         要在本地运行 DeepSeek,我们首先需要安装Ollama,它允许我们在我们的机器上运行 LLM,以及CodeGPT,它是集成这些模型以提供编码辅助的 VSCode 扩展。 安装 Ollama Ollama 是一个轻量级平台,可以轻松运行本地 LLM。 下载Ollama 访问官方网站:https://ollama.com * 下载适合您的操作系统(Windows、macOS 或 Linux)的安装程序。 * 验证安装 安装后,打开终端并运行: ollama --version  如果 Ollama 安装正确,

By Ne0inhk
DeepSeek-R1是真码农福音?我们问了100位开发者……

DeepSeek-R1是真码农福音?我们问了100位开发者……

从GitHub Copilot到DeepSeek-R1,AI编程工具正在引发一场"效率革命",开发者们对这些工具的期待与质疑并存。据Gartner预测,到2028年,将有75%的企业软件工程师使用AI代码助手。 眼看着今年国产选手DeepSeek-R1凭借“深度思考”能力杀入战场,它究竟是真码农福音还是需要打补丁的"潜力股"? ZEEKLOG问卷调研了社区内来自全栈开发、算法工程师、数据工程师、前端、后端等多个技术方向的100位开发者(截止到2月25日),聚焦DeepSeek-R1的代码生成效果、编写效率、语法支持、IDE集成、复杂代码处理等多个维度,一探DeepSeek-R1的开发提效能力。 代码生成效果:有成效但仍需提升 * 代码匹配比例差强人意 在代码生成与实际需求的匹配方面,大部分开发者(58人)遇到生成代码与实际需求完全匹配无需修改的比例在40%-70%区间,12人遇到代码匹配比例在70%-100%这样较高的区间。 然而,有30人代码匹配比例低于40%。这说明DeepSeek-R1在代码生成方面有一定效果,但在部分复杂或特定场景下,仍有很大的提升空间。

By Ne0inhk
AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏

AI+游戏开发:如何用 DeepSeek 打造高性能贪吃蛇游戏

文章目录 * 一、技术选型与准备 * 1.1 传统开发 vs AI生成 * 1.2 环境搭建与工具选择 * 1.3 DeepSeek API 初步体验 * 二、贪吃蛇游戏基础实现 * 2.1 游戏结构设计 * 2.2 初始化游戏 * 2.3 DeepSeek 生成核心逻辑 * 三、游戏功能扩展 * 3.1 多人联机模式 * 3.2 游戏难度动态调整 * 3.3 游戏本地保存与回放 * 3.4 跨平台移植 * 《Vue.js项目开发全程实录/软件项目开发全程实录》 * 编辑推荐 * 内容简介 * 作者简介 * 目录 一、

By Ne0inhk