搭建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

  • 自动化平台

  • 内部工具系统

推荐实践:

  • 使用 venv 或 conda 隔离环境

  • 每个项目独立依赖

示例:

复制代码
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 场景需求。

相关推荐
恋猫de小郭7 分钟前
Android CLI 支持 AI Agent 通过 Device Streaming 调试云真机
android·前端·flutter
Wang's Blog9 分钟前
Java 项目实战: 外卖平台优化-前端dist部署与Nginx反向代理rewrite
java·前端·nginx
鬓戈13 分钟前
Claude Code frontend-design 插件调研 与 Vue 旧系统风格一致性方案
前端·vue.js·人工智能
IT_陈寒23 分钟前
SpringBoot自动配置的坑我帮你踩过了
前端·人工智能·后端
其实防守也摸鱼1 小时前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
geovindu3 小时前
css: Timeline scribble
前端·css·iphone
沙漠之主11 小时前
C++编程教学设计资料:从入门到实战的完整课程方案
java·前端·c++
hasty11 小时前
不上传新包,也能改变用户拿到的版本:npm dist-tag 的 OIDC 权限治理
前端·npm·node.js
Csvn12 小时前
diff 算法(虚拟 DOM Reconciliation)
前端
前端snow13 小时前
ai agent --- 文件存储
前端