找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3755

积分

0

好友

517

主题
发表于 2 小时前 | 查看: 2| 回复: 0

在Linux系统管理中,Web服务器的部署与配置是每位开发者和运维人员必须掌握的核心技能。你是否也曾为如何高效地搭建一个稳定、安全且性能优异的网站环境而困惑?面对Nginx与Apache的抉择,或是SSL配置、性能调优等复杂步骤时感到无从下手?

本文将为你提供一份详尽的操作指南,手把手带你完成从零开始的Web服务器部署。我们将分别深入讲解Nginx和Apache这两大主流服务器在Ubuntu/Debian和CentOS/RHEL系统上的安装、配置、优化与维护。无论你是初学者还是希望系统梳理相关知识的从业者,这份指南都将为你提供清晰的路径。

目录

  1. Nginx部署配置
  2. Apache部署配置
  3. 性能优化

1. Nginx部署配置

Nginx以其高性能、高并发和低内存占用而闻名,尤其适合作为反向代理和负载均衡器。

1.1 安装与基础配置

安装Nginx
根据你的Linux发行版,选择对应的安装命令。

# Ubuntu/Debian系统
sudo apt update
sudo apt install nginx

# CentOS/RHEL系统
sudo yum install epel-release
sudo yum install nginx

# 启动服务
sudo systemctl start nginx
sudo systemctl enable nginx

基础配置
安装完成后,需要对主配置文件进行一些基础调整以适应你的服务器环境。

# 编辑主配置文件
sudo nano /etc/nginx/nginx.conf

# 设置工作进程数
worker_processes auto;

# 设置连接数
worker_connections 4096;

# 设置事件模型
events {
    worker_connections 4096;
    use epoll;
}

1.2 虚拟主机配置

虚拟主机允许你在单台服务器上托管多个网站。

域名配置
首先为你的域名创建一个独立的配置文件。

# 创建配置文件
sudo nano /etc/nginx/sites-available/example.com

# 配置内容
server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location /api {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

启用配置
创建软链接并测试配置无误后,重启Nginx使配置生效。这一步是常见的系统管理操作。

# 创建软链接
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

# 测试配置
sudo nginx -t

# 重启服务
sudo systemctl restart nginx

1.3 SSL配置

为网站启用HTTPS加密是保障数据安全的基本要求,Let‘s Encrypt提供了免费的SSL证书。

Let‘s Encrypt证书
使用Certbot工具可以自动化证书的申请和续期。

# 安装certbot
sudo apt install certbot python3-certbot-nginx

# 获取证书
sudo certbot --nginx -d example.com -d www.example.com

# 自动续期
sudo crontab -e
# 添加:0 12 * * * /usr/bin/certbot renew --quiet

SSL配置
Certbot通常会帮你自动修改Nginx配置。你也可以手动检查或调整SSL相关参数。

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    root /var/www/example.com;
    index index.html;
}

2. Apache部署配置

Apache HTTP Server(简称Apache)历史悠久,功能模块丰富,拥有强大的.htaccess支持。

2.1 安装与基础配置

安装Apache

# Ubuntu/Debian系统
sudo apt update
sudo apt install apache2

# CentOS/RHEL系统
sudo yum install httpd

# 启动服务
sudo systemctl start apache2
sudo systemctl enable apache2

基础配置

# 编辑主配置文件
sudo nano /etc/apache2/apache2.conf

# 设置服务器信息
ServerName localhost
ServerAdmin admin@example.com

# 设置文档根目录
DocumentRoot /var/www/html

# 设置超时时间
Timeout 300

2.2 虚拟主机配置

域名配置

# 创建配置文件
sudo nano /etc/apache2/sites-available/example.com.conf

# 配置内容
<VirtualHost *:80>
    ServerName example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/example.com

    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用配置

# 启用站点
sudo a2ensite example.com.conf

# 启用模块
sudo a2enmod rewrite

# 测试配置
sudo apache2ctl configtest

# 重启服务
sudo systemctl restart apache2

2.3 SSL配置

SSL配置
配置Apache以监听443端口并启用SSL引擎。

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/example.com

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

3. 性能优化

部署完成只是第一步,对服务器进行性能优化才能充分发挥硬件潜力,应对高并发场景。

3.1 Nginx优化

配置优化
通过启用压缩、缓存和优化连接参数来提升性能。

# 启用gzip压缩
gzip on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

# 启用缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

# 连接优化
keepalive_timeout 65;
keepalive_requests 1000;

性能调优
调整Linux内核参数可以更好地支持Nginx处理大量并发连接。

# 调整内核参数
echo "net.core.somaxconn = 65535" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout = 30" | sudo tee -a /etc/sysctl.conf

# 应用配置
sudo sysctl -p

3.2 Apache优化

配置优化
同样,为Apache启用压缩和静态资源缓存能显著减少带宽占用并加快页面加载速度。

# 启用压缩
LoadModule deflate_module modules/mod_deflate.so
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

# 启用缓存
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
</IfModule>

3.3 监控与维护

一个健康的服务器离不开持续的监控和有效的维护策略。

性能监控
通过命令行工具实时观察服务器状态是快速定位问题的基础。

# 查看访问日志
sudo tail -f /var/log/nginx/access.log

# 查看错误日志
sudo tail -f /var/log/nginx/error.log

# 查看进程状态
ps aux | grep nginx

# 查看连接数
sudo netstat -an | grep :80 | wc -l

日志轮转
配置日志轮转可以防止日志文件无限增长,耗尽磁盘空间,同时便于历史日志的归档管理。

# 配置日志轮转
sudo nano /etc/logrotate.d/nginx

# 配置内容
/var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 644 www-data www-data
    postrotate
        invoke-rc.d nginx rotate >/dev/null 2>&1
    endscript
}

总结

掌握Web服务器的部署、配置与优化,是构建稳定、高效线上服务的基石。通过本文的逐步讲解,你已经了解了Nginx和Apache两大服务器的核心配置方法,并掌握了性能调优与网络监控的基本技巧。

关键要点回顾

  1. Nginx部署:安装配置、虚拟主机、SSL配置
  2. Apache部署:安装配置、虚拟主机、SSL配置
  3. 性能优化:配置优化、性能调优、监控维护
  4. 安全配置:SSL证书、防火墙、访问控制
  5. 监控维护:日志管理、性能监控、故障排查

理论与实践相结合才能巩固知识。建议你在自己的测试环境中反复练习这些步骤,并根据实际业务需求进行调整。如果你在部署过程中遇到其他问题,或想了解更多关于运维DevOps的深度内容,可以到云栈社区与更多同行交流探讨。




上一篇:Vite+ 开源发布:一个统一JavaScript开发工具链的尝试
下一篇:开源工具Ai-Markmap:基于AI将长文本一键生成交互式思维导图
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-15 10:11 , Processed in 0.446922 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表