准备工作
-
系统要求
- Linux发行版:推荐 Ubuntu 22.04 LTS 或 CentOS 9(社区免费版)。
- 硬件:至少1核CPU、1GB内存、10GB存储(根据流量调整)。
- 网络:公网IP地址(云服务器如阿里云/酷盾)或本地端口映射。
- 权限:使用
sudo
命令或root
用户操作。
-
更新系统
终端执行:sudo apt update && sudo apt upgrade # Ubuntu/Debian sudo dnf update # CentOS/RHEL
选择并安装Web服务器软件
选项1:Apache(适合初学者)
- 安装命令:
sudo apt install apache2 # Ubuntu sudo dnf install httpd # CentOS
- 启动服务:
sudo systemctl start apache2 # Ubuntu sudo systemctl start httpd # CentOS
- 设置开机自启:
sudo systemctl enable apache2
选项2:Nginx(高性能,适合高并发)
- 安装命令:
sudo apt install nginx # Ubuntu sudo dnf install nginx # CentOS
- 启动与自启:
sudo systemctl start nginx && sudo systemctl enable nginx
选型建议:
- 小型网站:Apache配置简单,模块丰富。
- 高流量场景:Nginx资源占用低,处理并发更强。
基础配置
网站文件存放目录
- Apache:
默认路径/var/www/html/
,将网站文件(如index.html
)放入此目录。 - Nginx:
默认路径/usr/share/nginx/html/
。
配置虚拟主机(以Apache为例)
- 创建站点目录:
sudo mkdir -p /var/www/your_domain/public_html
- 复制配置文件模板:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your_domain.conf
- 编辑配置文件:
sudo nano /etc/apache2/sites-available/your_domain.conf
修改以下内容:
<VirtualHost *:80> ServerName your_domain.com # 替换为你的域名 DocumentRoot /var/www/your_domain/public_html </VirtualHost>
- 启用站点并重启服务:
sudo a2ensite your_domain.conf sudo systemctl restart apache2
防火墙与端口开放
-
允许HTTP/HTTPS流量:
sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw reload # Ubuntu
CentOS使用
firewalld
:sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
-
测试访问:
浏览器输入服务器IP(如http://192.168.1.100
),若显示默认页面则成功。
支持(PHP + MySQL)
安装PHP
sudo apt install php php-mysql # Ubuntu sudo dnf install php php-mysqlnd # CentOS
安装MySQL数据库
sudo apt install mysql-server # Ubuntu sudo dnf install mysql-server # CentOS
- 初始化安全设置:
sudo mysql_secure_installation
测试PHP
- 创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
- 浏览器访问
http://服务器IP/phpinfo.php
,显示PHP信息即成功。
安全加固措施
- 禁用root远程登录:
编辑/etc/ssh/sshd_config
,设置PermitRootLogin no
,重启SSH服务。 - 配置SSL证书(HTTPS):
使用Let’s Encrypt免费证书:sudo apt install certbot python3-certbot-apache # Ubuntu + Apache sudo certbot --apache -d your_domain.com
- 定期更新系统:
sudo apt update && sudo apt upgrade # Ubuntu sudo dnf update # CentOS
故障排查
- 检查服务状态:
systemctl status apache2 # 或 nginx/mysql
- 查看日志:
Apache:/var/log/apache2/error.log
Nginx:/var/log/nginx/error.log
Linux搭建Web服务器的核心步骤包括:选择服务器软件(Apache/Nginx)、配置站点目录、开放端口、集成PHP/MySQL,以及安全加固,完成后,你的网站即可通过IP或域名访问,对于企业应用,建议结合CDN和负载均衡进一步提升性能。
引用说明:
- Apache官方文档:https://httpd.apache.org/docs/
- Nginx官方指南:https://nginx.org/en/docs/
- Let’s Encrypt证书申请:https://certbot.eff.org/
- Linux系统安全基线:基于CIS Benchmark最佳实践。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9775.html