首页主机资讯如何在Debian Stream 8上部署Web应用

如何在Debian Stream 8上部署Web应用

时间2025-12-11 19:10:04发布访客分类主机资讯浏览1032
导读:在 Debian 12(常被误写为 Debian Stream 8)上部署 Web 应用的实操指南 一 准备与环境校验 更新系统并安装常用工具:sudo apt update && sudo apt install -y...

在 Debian 12(常被误写为 Debian Stream 8)上部署 Web 应用的实操指南

一 准备与环境校验

  • 更新系统并安装常用工具:sudo apt update & & sudo apt install -y curl wget vim htop ufw
  • 启动并自启防火墙:sudo ufw enable;按需放行端口(例如:sudo ufw allow 80,443,22/tcp)
  • 若使用云服务器,还需在云平台安全组放行对应端口(如 80/443
  • 建议创建非 root 应用用户:sudo adduser --disabled-password --gecos “” appuser & & sudo usermod -aG sudo appuser
  • 目录规范:静态站点推荐 /var/www/your-app;Java 应用推荐 /opt/your-app

二 静态站点 Nginx 部署

  • 安装 Nginx:sudo apt install -y nginx & & sudo systemctl start nginx & & sudo systemctl enable nginx
  • 部署文件:将本地打包产物(Vue/React 的 dist/build 目录内容)上传至 /var/www/your-app
    • 示例:scp -r dist/* appuser@your_ip:/var/www/your-app
  • 配置站点(/etc/nginx/sites-available/your-app):
    • 示例:
      • server { listen 80; server_name your_domain_or_ip; root /var/www/your-app; index index.html; location / { try_files $uri $uri/ =404; } }
  • 启用站点并重载:sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled/ & & sudo nginx -t & & sudo systemctl reload nginx
  • 访问验证:浏览器打开 http://your_domain_or_ip

三 Java JSP 或 WAR 应用 Tomcat 部署

  • 安装 Java:sudo apt install -y openjdk-11-jdk & & java -version
  • 安装 Tomcat 9:sudo apt install -y tomcat9 & & sudo systemctl start tomcat9 & & sudo systemctl enable tomcat9
  • 部署 WAR:将应用打包为 your-app.war,复制到 /var/lib/tomcat9/webapps/(Tomcat 会自动解压部署)
  • 访问验证:http://your_ip:8080/your-app(上下文路径通常与 WAR 文件名一致)
  • 日志排查:tail -f /var/log/tomcat9/catalina.out
  • 可选 HTTPS:在 /etc/tomcat9/server.xml 配置 8443 端口与证书,或前置 Nginx 终止 TLS

四 Python WSGI 应用 Apache Gunicorn 部署

  • 安装依赖:sudo apt install -y apache2 python3-pip python3-venv
  • 准备应用与虚拟环境:
    • mkdir -p /opt/yourapp & & cd /opt/yourapp
    • python3 -m venv venv & & source venv/bin/activate
    • pip install -r requirements.txt gunicorn flask # 以 Flask 为例
  • 测试 Gunicorn:gunicorn -b 127.0.0.1:8000 app:app
  • 配置 Apache(启用 mod_wsgi):sudo a2enmod wsgi
  • 虚拟主机(/etc/apache2/sites-available/yourapp.conf):
    • 示例:
      • < VirtualHost *:80>
        • ServerName your_domain_or_ip
        • WSGIDaemonProcess yourapp python-home=/opt/yourapp/venv python-path=/opt/yourapp
        • WSGIProcessGroup yourapp
        • WSGIScriptAlias / /opt/yourapp/wsgi.py
        • < Directory /opt/yourapp>
          • Require all granted
        • ErrorLog ${ APACHE_LOG_DIR} /error.log
        • CustomLog ${ APACHE_LOG_DIR} /access.log combined
  • 启用站点并重启:sudo a2ensite yourapp.conf & & sudo systemctl reload apache2
  • 访问验证:http://your_domain_or_ip

五 Docker 容器化 Nginx 反向代理部署

  • 安装 Docker:
    • sudo apt-get update & & sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
    • curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • echo “deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable” | tee /etc/apt/sources.list.d/docker.list > /dev/null
    • sudo apt-get update & & sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  • 构建镜像(示例静态站点):
    • Dockerfile:FROM nginx:latest COPY . /usr/share/nginx/html
    • 构建运行:docker build -t mywebapp . & & docker run -d -p 8080:80 mywebapp
  • Nginx 反向代理(/etc/nginx/sites-available/yourapp):
    • 示例:
      • server { listen 80; server_name your_domain; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
  • 重载 Nginx:sudo nginx -t & & sudo systemctl reload nginx
  • 访问验证:http://your_domain

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Debian Stream 8上部署Web应用
本文地址: https://pptw.com/jishu/769667.html
Debian Stream 8的兼容性怎么样 如何配置Debian Stream 8的网络设置

游客 回复需填写必要信息