搭建web 环境的那些事

文章目录:

[一、Web 服务运行环境](#一、Web 服务运行环境)

[1. Nginx / Apache 环境](#1. Nginx / Apache 环境)

[1.1 端口规划](#1.1 端口规划)

[1.2 日志目录规范](#1.2 日志目录规范)

[1.3 反向代理配置(核心)](#1.3 反向代理配置(核心))

[2 应用运行环境](#2 应用运行环境)

[2.1 Java 运行环境(OpenJDK / Maven)](#2.1 Java 运行环境(OpenJDK / Maven))

[2.2 Python 运行环境(venv / conda)](#2.2 Python 运行环境(venv / conda))

[2.3 Node.js 运行环境(nvm)](#2.3 Node.js 运行环境(nvm))

[3 适用场景总结](#3 适用场景总结)

小结



一、Web 服务运行环境

Web 服务是 Linux 服务器中最常见的应用场景,通常用于承载:

  • 企业官网

  • 管理后台

  • API 接口服务

一个规范的 Web 运行环境,不仅要"能访问",还需要在 端口规划、日志管理、反向代理 等方面具备可维护性。


1. Nginx / Apache 环境

在实际项目中,Nginx 使用更为广泛,Apache 多见于传统 PHP 项目或历史系统,下文以通用规范为主。


1.1 端口规划

合理的端口规划是服务器规范化的第一步,推荐如下:

服务类型 端口 说明
HTTP 80 Web 访问
HTTPS 443 加密访问
后端应用 8000--9000 内部服务端口
管理后台 8080 / 8443 仅内网访问

规划原则:

  • 对外只暴露 80 / 443

  • 后端应用端口不直接暴露公网

  • 管理端口限制来源 IP

通过反向代理统一入口,提升安全性和可维护性。


1.2 日志目录规范

日志混乱是很多 Web 服务器的通病,建议统一规范:

复制代码
/var/log/nginx
├── access.log
├── error.log
├── site-a.access.log
└── site-a.error.log

推荐做法:

  • 每个站点独立 access / error 日志

  • 日志与代码目录分离

  • 配合 logrotate 进行日志轮转

示例(Nginx):

复制代码
access_log /var/log/nginx/site-a.access.log;
error_log  /var/log/nginx/site-a.error.log;

1.3 反向代理配置(核心)

Nginx 常用于作为 统一入口 + 反向代理层,后端服务只监听本地端口。

示例配置:

复制代码
server {
    listen 80;
    server_name api.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

这种架构的优势:

  • 隐藏后端真实端口

  • 统一 SSL / 域名管理

  • 便于后续扩展负载均衡


2 应用运行环境

Web 服务器通常只负责转发请求,真正的业务逻辑运行在应用环境中。不同项目对运行环境的要求不同。


2.1 Java 运行环境(OpenJDK / Maven)

常见场景:

  • Spring Boot

  • 企业管理系统

  • API 服务

推荐配置:

  • OpenJDK 8 / 11 / 17(按项目需求)

  • Maven 用于构建

基本验证:

复制代码
java -version
mvn -version

运行方式:

  • 后端服务监听本地端口(如 8080)

  • 通过 Nginx 反向代理对外提供访问


2.2 Python 运行环境(venv / conda)

常见场景:

  • Flask / Django

  • 自动化平台

  • 内部工具系统

推荐实践:

  • 使用 venvconda 隔离环境

  • 每个项目独立依赖

示例:

复制代码
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

优点:

  • 避免依赖冲突

  • 便于迁移和复现


2.3 Node.js 运行环境(nvm)

常见场景:

  • 前端构建

  • Node.js API

  • 管理后台

推荐使用 nvm 管理版本:

复制代码
nvm install 18
nvm use 18

优势:

  • 多版本共存

  • 项目之间互不影响


3 适用场景总结

场景 推荐架构
企业官网 Nginx + 静态资源
管理后台 Nginx + Java / Node
API 服务 Nginx + Java / Python

统一原则:

  • Web 层只负责转发

  • 应用层只监听内网

  • 日志、端口、目录统一规划


小结

Web 服务运行环境的搭建,不只是安装 Nginx 或启动应用,更重要的是:

  • 端口是否规范

  • 日志是否可维护

  • 架构是否易扩展

通过 Nginx + 应用运行环境 的方式,可以满足绝大多数企业 Web 场景需求。

相关推荐
尾善爱看海2 小时前
不常用的浏览器 API —— Web Speech
前端
美酒没故事°3 小时前
vue3拖拽+粘贴的综合上传器
前端·javascript·typescript
jingling5554 小时前
css进阶 | 实现罐子中的水流搅拌效果
前端·css
悟能不能悟5 小时前
前端上载文件时,上载多个文件,但是一个一个调用接口,怎么实现
前端
可问春风_ren6 小时前
前端文件上传详细解析
前端·ecmascript·reactjs·js
羊小猪~~6 小时前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
晚风资源组7 小时前
CSS文字和图片在容器内垂直居中的简单方法
前端·css·css3
Miketutu8 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
光影少年9 小时前
前端如何调用gpu渲染,提升gpu渲染
前端·aigc·web·ai编程
Surplusx10 小时前
运用VS Code前端开发工具完成网页头部导航栏
前端·html