准备工作
在搭建Web服务器前,需明确需求并准备以下内容:
安装Web服务器环境
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
sudo apt install apache2 -y sudo systemctl start apache2 sudo systemctl enable apache2
配置网站文件与域名
sudo mkdir -p /var/www/your_domain sudo chown -R $USER:$USER /var/www/your_domain
sudo nano /etc/nginx/sites-available/your_domain
输入以下内容(替换your_domain
为实际域名):
server { listen 80; server_name your_domain www.your_domain; root /var/www/your_domain; index index.html; location / { try_files $uri $uri/ =404; } }
启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ sudo nginx -t # 检查语法 sudo systemctl reload nginx
启用HTTPS加密(SSL证书)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain -d www.your_domain
按提示操作,选择自动重定向HTTP到HTTPS。
sudo certbot renew --dry-run
安全加固与优化
sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable
sudo nano /etc/ssh/sshd_config
修改PermitRootLogin
为no
,重启SSH:
sudo systemctl restart sshd
sudo apt install fail2ban -y sudo systemctl start fail2ban
gzip on; gzip_types text/plain text/css application/json application/javascript;
location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; }
监控与维护
tail -f /var/log/nginx/access.log
crontab
定时备份网站文件和数据库(如有)。 sudo apt update && sudo apt upgrade -y
常见问题解答
sudo certbot renew
。 引用说明