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

相关推荐
云原生指北4 小时前
AI Agent 的代码执行沙箱:从容器到微虚拟机的隔离之道
前端
Fairy要carry5 小时前
面试-Agent Loop
前端·chrome
Surmon7 小时前
基于 Cloudflare 生态的 AI Agent 实现
前端·人工智能·架构
六月June June12 小时前
自定义调色盘组件
前端·javascript·调色盘
SY_FC12 小时前
实现一个父组件引入了子组件,跳转到其他页面,其他页面返回回来重新加载子组件函数
java·前端·javascript
糟糕好吃13 小时前
我让 AI 操作网页之后,开始不想点按钮了
前端·javascript·后端
陈天伟教授13 小时前
人工智能应用- 天文学家的助手:08. 星系定位与分类
前端·javascript·数据库·人工智能·机器学习
VaJoy13 小时前
给到夯!前端工具链新标杆 Vite Plus 初探
前端·vite
小彭努力中14 小时前
191.Vue3 + OpenLayers 实战:可控化版权信息(Attribution)详解与完整示例
前端·javascript·vue.js·#地图开发·#cesium
奇舞精选14 小时前
用去年 github 最火的 n8n 快速实现自动化推送工具
前端·agent