Linux搭建Web服务器高效灵活吗?

准备工作

  1. 系统要求

    • Linux发行版:推荐 Ubuntu 22.04 LTS 或 CentOS 9(社区免费版)。
    • 硬件:至少1核CPU、1GB内存、10GB存储(根据流量调整)。
    • 网络:公网IP地址(云服务器如阿里云/酷盾)或本地端口映射。
    • 权限:使用 sudo 命令或 root 用户操作。
  2. 更新系统
    终端执行:

    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为例)

  1. 创建站点目录:
    sudo mkdir -p /var/www/your_domain/public_html
  2. 复制配置文件模板:
    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/your_domain.conf
  3. 编辑配置文件:
    sudo nano /etc/apache2/sites-available/your_domain.conf

    修改以下内容:

    <VirtualHost *:80>
       ServerName your_domain.com  # 替换为你的域名
       DocumentRoot /var/www/your_domain/public_html
    </VirtualHost>
  4. 启用站点并重启服务:
    sudo a2ensite your_domain.conf
    sudo systemctl restart apache2

防火墙与端口开放

  1. 允许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
  2. 测试访问:
    浏览器输入服务器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

  1. 创建测试文件:
    echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
  2. 浏览器访问 http://服务器IP/phpinfo.php,显示PHP信息即成功。

安全加固措施

  1. 禁用root远程登录:
    编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,重启SSH服务。
  2. 配置SSL证书(HTTPS):
    使用Let’s Encrypt免费证书:

    sudo apt install certbot python3-certbot-apache  # Ubuntu + Apache
    sudo certbot --apache -d your_domain.com
  3. 定期更新系统:
    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

赞 (0)
酷番叔酷番叔
上一篇 2025年8月6日 19:07
下一篇 2025年8月6日 19:27

相关推荐

  • Linux如何快速解除USB占用?

    定位占用USB端口的进程识别USB设备路径 lsusb # 查看所有USB设备,记录目标设备的ID(如Bus 001 Device 003)或通过设备描述定位: lsblk # 查看存储设备挂载点(如/dev/sdb1)查找占用进程方法1:通过设备路径lsof /dev/sdb1 # 替换为你的设备路径输出示例……

    2025年8月5日
    26200
  • 如何在Linux环境下编写并运行C语言程序?

    在Linux环境下进行C语言开发是许多开发者和学习者的选择,其强大的命令行工具和开源生态为C语言编程提供了高效的支持,以下是详细的步骤和说明,帮助你从零开始在Linux下编写、编译和运行C程序,环境准备:安装必要的工具Linux系统通常默认安装了GCC(GNU Compiler Collection),这是Li……

    2025年9月20日
    22700
  • Linux下如何彻底卸载gcc编译器?

    在Linux系统中,GCC(GNU Compiler Collection)是广泛使用的编译器套件,用于将C、C++、Objective-C等源代码编译为可执行程序,由于版本冲突、空间清理或重新安装需求,用户可能需要删除系统中的GCC,删除GCC的方法因Linux发行版不同而有所差异,本文将详细介绍不同场景下的……

    2025年10月3日
    19700
  • linux 如何恢复到以前的mac地址

    通过 ifconfig 或 ip 命令重新设置MAC地址,具体命令根据系统

    2025年8月18日
    18400
  • 如何在Linux操作系统下通过终端编写、编译和运行C语言程序?

    在Linux环境下使用C语言开发程序是许多开发者和学习者的基础技能,其流程涵盖环境搭建、代码编写、编译调试及项目管理等环节,以下从实际操作角度详细展开说明,开发环境准备Linux系统通常自带GCC(GNU Compiler Collection)编译器,但需确认是否安装,打开终端,输入gcc –version……

    2025年9月21日
    22500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信