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

准备工作

  1. 系统要求

    • Linux发行版:推荐 Ubuntu 22.04 LTSCentOS 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)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

  • 副业月入过万可能吗

    人工智能是模拟人类智能的技术系统;应用于医疗、交通、制造等领域;正深刻改变人类生活和工作方式。

    2025年7月5日
    2300
  • 如何在Linux6系统中高效使用vi编辑器?

    进入vi编辑器的基本方法通过终端打开新文件打开终端(Terminal),输入以下命令创建或编辑文件:vi 文件名示例:vi myfile.txt若文件不存在,vi会自动创建;若存在,则打开现有文件,打开文件并跳转到指定行需编辑文件特定位置时(如调试脚本):vi +行号 文件名示例:vi +10 /etc/htt……

    2025年7月21日
    1000
  • Linux创建进程的核心系统调用是什么?

    Linux创建进程的核心系统调用是fork(),它通过复制调用进程(父进程)创建一个新进程(子进程),随后通常调用execve()系列函数加载并执行新程序,替换子进程的地址空间。

    2025年7月24日
    1200
  • ip link命令怎么用?

    在Linux系统中,查看网卡的MAC地址(即物理地址)是网络配置和故障排查的基础操作,MAC地址是网卡的唯一硬件标识符,由12位十六进制数组成(如00:1A:2B:3C:4D:5E),常用于网络绑定、设备识别或安全策略,以下是多种可靠的方法,适用于所有主流Linux发行版(如Ubuntu、CentOS、Debi……

    2025年6月23日
    2200
  • 月入过万为何仍觉贫穷?

    在Linux环境中,C语言作为系统级编程的核心工具,其应用通常涉及两类需求:安装C语言开发环境或通过C程序获取Linux系统信息将详细解答这两种场景,确保技术准确性和实用性,所有方法均通过主流Linux发行版验证(如Ubuntu、CentOS),在Linux系统上安装C语言编译器若需在Linux中编写/运行C程……

    3天前
    400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信