搭建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 场景需求。

相关推荐
freeWayWalker几秒前
Vue通用缩放容器
前端·javascript·vue.js
Hello--_--World8 分钟前
VUE:逻辑复用
前端·javascript·vue.js
陶甜也25 分钟前
3D智慧城市:blender建模、骨骼、动画、VUE、threeJs引入渲染,飞行视角,涟漪、人物行走
前端·3d·vue·blender·threejs·模型
患得患失94930 分钟前
【前端websocket】企业级功能清单
前端·websocket·网络协议
落魄江湖行30 分钟前
基础篇四 Nuxt4 全局样式与 CSS 模块
前端·css·typescript·nuxt4
禅思院31 分钟前
前端性能优化:从"术"到"道"的完整修炼指南
前端·架构·前端框架
架构师老Y2 小时前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
xiaotao1319 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉9 小时前
Electron桌面应用聊天(续)
前端·javascript·electron