凌峰创科服务平台

CentOS7如何快速配置Web服务器?

第一步:准备工作

在开始之前,请确保你已经:

CentOS7如何快速配置Web服务器?-图1
(图片来源网络,侵删)
  1. 拥有一台 CentOS 7 服务器:并且你已经通过 SSH 登录到了这台服务器。

  2. 拥有 root 权限:或者一个具有 sudo 权限的用户账户,本教程大部分命令使用 sudo

  3. 更新系统:确保你的系统软件包是最新的。

    sudo yum update -y

第二步:安装 Nginx Web 服务器

Nginx 是一个高性能、轻量级的 Web 服务器和反向代理。

CentOS7如何快速配置Web服务器?-图2
(图片来源网络,侵删)
  1. 安装 EPEL 仓库 EPEL (Extra Packages for Enterprise Linux) 提供了许多 CentOS 官方源中没有的软件包,首先需要安装它。

    sudo yum install epel-release -y
  2. 安装 Nginx 使用 yum 来安装 Nginx。

    sudo yum install nginx -y
  3. 启动并设置 Nginx 开机自启 安装完成后,启动 Nginx 服务,并设置为系统启动时自动运行。

    # 启动 Nginx
    sudo systemctl start nginx
    # 设置开机自启
    sudo systemctl enable nginx
  4. 检查 Nginx 状态 确保 Nginx 服务正在运行。

    CentOS7如何快速配置Web服务器?-图3
    (图片来源网络,侵删)
    sudo systemctl status nginx

    如果看到 active (running),则表示成功。

  5. 配置防火墙 CentOS 7 默认使用 firewalld 防火墙,你需要允许 HTTP (80) 和 HTTPS (443) 端口的流量通过。

    # 永久允许 HTTP (80) 端口
    sudo firewall-cmd --permanent --add-service=http
    # 永久允许 HTTPS (443) 端口
    sudo firewall-cmd --permanent --add-service=https
    # 重新加载防火墙配置以使更改生效
    sudo firewall-cmd --reload
  6. 测试 Nginx 在你的浏览器中输入服务器的 IP 地址,你应该能看到 Nginx 的欢迎页面。

    # 查看服务器 IP 地址
    ip addr

    复制 inet 后面的 IP 地址,在浏览器中访问即可。


第三步:安装 MariaDB 数据库服务器

MariaDB 是 MySQL 的一个流行分支,完全兼容 MySQL。

  1. 安装 MariaDB 服务器 使用 yum 安装 MariaDB 服务器和客户端。

    sudo yum install mariadb-server mariadb -y
  2. 启动并设置 MariaDB 开机自启 启动 MariaDB 服务并设置开机自启。

    # 启动服务
    sudo systemctl start mariadb
    # 设置开机自启
    sudo systemctl enable mariadb
  3. 运行安全脚本 这是一个非常重要的步骤,它会帮助你设置 root 密码、移除匿名用户、禁止远程 root 登录等。

    sudo mysql_secure_installation

    按照提示操作:

    • Enter current password for root (enter for none): 直接按回车,因为初始密码为空。
    • Set root password? [Y/n]:Y 并设置一个强密码。
    • Remove anonymous users? [Y/n]:Y,建议移除。
    • Disallow root login remotely? [Y/n]:Y,为了安全,禁止远程 root 登录。
    • Remove test database and access to it? [Y/n]:Y,移除测试数据库。
    • Reload privilege tables now? [Y/n]:Y,使更改立即生效。

第四步:安装 PHP (PHP-FPM)

PHP-FPM (FastCGI Process Manager) 是一个 PHP 的 FastCGI 实现,Nginx 可以通过它来处理 PHP 文件。

  1. 安装 PHP 和常用扩展 CentOS 7 默认的软件源中的 PHP 版本可能很旧,我们建议使用 remi 源来安装较新版本的 PHP (PHP 7.4)。

    # 安装 EPEL 和 Remi 源
    sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
    # 启用 Remi 源中的 PHP 7.4
    sudo yum-config-manager --enable remi-php74
    # 安装 PHP-FPM 和一些常用扩展
    sudo yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring

    你可以根据需要安装更多扩展,如 php-json, php-opcache 等。

  2. 启动并设置 PHP-FPM 开机自启 启动 PHP-FPM 服务并设置开机自启。

    # 启动服务
    sudo systemctl start php-fpm
    # 设置开机自启
    sudo systemctl enable php-fpm
  3. 检查 PHP-FPM 状态

    sudo systemctl status php-fpm

    确保状态为 active (running)


第五步:配置 Nginx 处理 PHP

现在需要配置 Nginx,让它将 .php 文件的请求转发给 PHP-FPM 处理。

  1. 创建一个测试 PHP 文件 我们创建一个测试目录和文件,以验证 PHP 是否正常工作。

    # 创建网站根目录 (/var/www/my_website)
    sudo mkdir -p /var/www/my_website
    # 设置目录所有者为当前用户 (nginx)
    sudo chown -R nginx:nginx /var/www/my_website
    # 创建一个 info.php 文件
    sudo vim /var/www/my_website/info.php

    info.php 文件中输入以下内容:

    <?php
    phpinfo();
    ?>

    保存并退出 (在 vim 中按 Esc,然后输入 wq 回车)。

  2. 配置 Nginx 虚拟主机 我们将创建一个新的 Nginx 配置文件来托管我们的网站。

    sudo vim /etc/nginx/conf.d/my_website.conf

    粘贴到文件中,并根据你的实际情况进行修改:

    server {
        listen       80;
        server_name  your_server_ip;  # 替换成你的服务器 IP 或域名
        # 网站根目录
        root   /var/www/my_website;
        index  index.php index.html index.htm;
        # 访问日志和错误日志
        access_log /var/log/nginx/my_website.access.log;
        error_log /var/log/nginx/my_website.error.log;
        location / {
            try_files $uri $uri/ =404;
        }
        # 将 .php 文件请求转发给 PHP-FPM
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000; # PHP-FPM 默认监听 127.0.0.1:9000
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        # 禁止访问 .htaccess 文件 (如果使用 Apache 规则)
        location ~ /\.ht {
            deny all;
        }
    }

    重要:将 your_server_ip 替换为你的实际 IP 地址或域名。

  3. 测试并重新加载 Nginx 配置 在重新加载配置之前,最好先测试一下配置文件是否有语法错误。

    # 测试 Nginx 配置
    sudo nginx -t
    # 如果测试通过 (显示 syntax is ok 和 test is successful),则重新加载配置
    sudo systemctl reload nginx

第六步:测试和验证

  1. 测试 PHP 在浏览器中访问你刚才创建的 PHP 文件: http://your_server_ip/info.php

    你应该能看到一个详细的 PHP 信息页面。为了安全,测试完毕后请立即删除此文件!

    sudo rm /var/www/my_website/info.php
  2. 测试网站根目录

分享:
扫描分享到社交APP
上一篇
下一篇