Debian如何安装和配置Web服务器
导读:在 Debian 上安装与配置 Web 服务器 一 准备与基线 以具有 sudo 权限的用户登录,先更新索引并升级系统: sudo apt update && sudo apt upgrade -y 若启用防火墙,放...
在 Debian 上安装与配置 Web 服务器
一 准备与基线
- 以具有 sudo 权限的用户登录,先更新索引并升级系统:
- sudo apt update & & sudo apt upgrade -y
- 若启用防火墙,放行 Web 端口(见下文按服务器类型选择)。
- 准备好域名(如 yourdomain.com)及解析指向服务器 IP;准备好 Web 内容放置目录(如 /var/www/yourdomain.com/html)。
二 安装与启动 Apache
- 安装与启动:
- sudo apt install apache2 -y
- sudo systemctl start apache2
- sudo systemctl enable apache2
- sudo systemctl status apache2
- 防火墙(UFW):sudo ufw allow ‘Apache Full’(同时放行 80/443)
- 验证:浏览器访问 http://your_server_ip,应看到 Apache 欢迎页。
- 目录与配置要点:
- 主配置:/etc/apache2/apache2.conf
- 端口:/etc/apache2/ports.conf
- 虚拟主机:/etc/apache2/sites-available/,启用用 a2ensite,禁用用 a2dissite
- 日志:/var/log/apache2/error.log、/var/log/apache2/access.log
- 示例虚拟主机(/etc/apache2/sites-available/yourdomain.com.conf):
- <
VirtualHost *:80>
- ServerAdmin webmaster@yourdomain.com
- ServerName yourdomain.com
- ServerAlias www.yourdomain.com
- DocumentRoot /var/www/yourdomain.com/html
- ErrorLog ${ APACHE_LOG_DIR} /yourdomain.com.error.log
- CustomLog ${ APACHE_LOG_DIR} /yourdomain.com.access.log combined
- 启用站点:sudo a2ensite yourdomain.com.conf;如需可禁用默认站点:sudo a2dissite 000-default.conf
- 使配置生效:sudo systemctl reload apache2。
- <
VirtualHost *:80>
三 安装与启动 Nginx
- 安装与启动(Debian 官方仓库):
- sudo apt update
- sudo apt install nginx -y
- sudo systemctl start nginx
- sudo systemctl enable nginx
- sudo systemctl status nginx
- 防火墙(UFW):sudo ufw allow ‘Nginx Full’(或按需放行 80/443)
- 验证:浏览器访问 http://your_server_ip,应看到 Nginx 欢迎页。
- 目录与配置要点:
- 主配置:/etc/nginx/nginx.conf
- 站点配置:/etc/nginx/sites-available/,启用方式为创建到 /etc/nginx/sites-enabled/ 的符号链接
- 默认网页根:/usr/share/nginx/html
- 示例虚拟主机(/etc/nginx/sites-available/yourdomain.com):
- server {
- listen 80;
- server_name yourdomain.com www.yourdomain.com;
- root /var/www/yourdomain.com/html;
- index index.html index.htm;
- location / {
- try_files $uri $uri/ =404;
- }
- error_log /var/log/nginx/yourdomain.com.error.log;
- access_log /var/log/nginx/yourdomain.com.access.log;
- }
- 启用站点:sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
- 测试并重载:sudo nginx -t & & sudo systemctl reload nginx。
- server {
四 启用 HTTPS 与自动续期
- 使用 Certbot 获取并部署 Let’s Encrypt 证书(自动修改 Web 服务器配置以启用 HTTPS 并设置续期):
- Apache:sudo apt install certbot python3-certbot-apache -y
- sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
- Nginx:sudo apt install certbot python3-certbot-nginx -y
- sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
- Apache:sudo apt install certbot python3-certbot-apache -y
- 续期:Certbot 默认会创建 systemd 定时任务或 cron 作业自动续期,可定期执行 sudo certbot renew --dry-run 做演练。
五 常见问题与运维要点
- 403 Forbidden 常见原因与处理:
- 目录无索引文件且未开启目录浏览:在 server 配置中添加 index index.html index.htm; 或临时开启 autoindex on;
- 权限不足:确保运行 Nginx/Apache 的用户对 DocumentRoot 具备读取权限(如 chmod/chown 调整)
- SELinux 限制(若启用):可临时 setenforce 0 验证,生产环境应按需配置 SELinux 策略
- 防火墙放行建议:
- UFW:Apache 用 sudo ufw allow ‘Apache Full’;Nginx 用 sudo ufw allow ‘Nginx Full’
- nftables:nft add rule inet filter input tcp dport { 80,443} ct state new,established counter accept
- 目录结构速览:
- Apache:sites-available/sites-enabled、mods-available/mods-enabled、conf-available/conf-enabled;日志在 /var/log/apache2/
- Nginx:主配置 /etc/nginx/nginx.conf;站点在 /etc/nginx/sites-available/ 与 /etc/nginx/sites-enabled/;默认网页根 /usr/share/nginx/html。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian如何安装和配置Web服务器
本文地址: https://pptw.com/jishu/775759.html
