凌峰创科服务平台

Linux搭建网站服务器,步骤有哪些?

我们将使用 Ubuntu 22.04 作为示例系统,因为它是目前最流行、文档最丰富的服务器发行版之一,本指南的大部分步骤也适用于其他 Debian/Ubuntu 系的发行版(如 Debian),以及基于 RHEL/CentOS 的发行版(如 Rocky Linux, AlmaLinux),只需稍作修改(如包管理器从 apt 改为 yumdnf)。

Linux搭建网站服务器,步骤有哪些?-图1
(图片来源网络,侵删)

总览:搭建网站服务器的完整流程

  1. 准备工作:获取一台云服务器或本地虚拟机,并连接到它。
  2. 系统初始化:更新系统、创建用户、配置防火墙。
  3. 安装 Web 服务器:选择 Nginx 或 Apache,这里以 Nginx 为例。
  4. 安装数据库:选择 MySQL (MariaDB)。
  5. 安装 PHP:以及 PHP-FPM,让 Nginx 能处理 PHP 请求。
  6. 配置 Nginx:创建虚拟主机,指向你的网站文件。
  7. 部署网站:上传你的网站代码(如 WordPress)。
  8. 测试:访问域名或 IP 地址,确认网站正常运行。

第一步:准备工作

  1. 获取服务器

    • 云服务器:阿里云、腾讯云、华为云、AWS、DigitalOcean、Vultr 等,选择一个你所在地区速度较快、价格合理的服务商。
    • 本地虚拟机:可以使用 VMware, VirtualBox 等软件在本地电脑上创建一个 Linux 虚拟机。
  2. 连接服务器

    • 使用 SSH 客户端连接到你的服务器,你需要知道服务器的公网 IP 地址。
    • 在 Windows 上,可以使用 PowerShellcmd,或者更专业的工具如 Xshell, MobaXterm
    • 在 macOS 或 Linux 上,可以直接使用自带的终端。
    • 命令格式:ssh root@你的服务器IP地址
    • 首次连接会提示你确认主机密钥,输入 yes 即可。
    • 然后输入你在购买服务器时设置的 root 用户密码。
  3. 更新系统

    • 登录后,第一件事就是更新系统软件包列表和已安装的软件,确保所有软件都是最新的。
      sudo apt update
      sudo apt upgrade -y

第二步:系统初始化安全配置

  1. 创建一个新的管理员用户

    Linux搭建网站服务器,步骤有哪些?-图2
    (图片来源网络,侵删)
    • 直接使用 root 用户操作存在安全风险,建议创建一个具有 sudo 权限的新用户。
      # 创建一个名为 'adminuser' 的用户,请替换成你喜欢的用户名
      sudo adduser adminuser

      系统会提示你设置新用户的密码和相关信息,可以直接回车使用默认值。

  2. 授予 sudo 权限

    • 将新用户添加到 sudo 用户组。
      sudo usermod -aG sudo adminuser
  3. 切换到新用户

    • 退出当前 SSH 会话 (exit),然后使用新用户名重新登录。
      ssh adminuser@你的服务器IP地址
  4. 配置防火墙

    Linux搭建网站服务器,步骤有哪些?-图3
    (图片来源网络,侵删)
    • UFW (Uncomplicated Firewall) 是一个易于使用的防火墙工具。
    • 允许 SSH 连接(否则你可能把自己锁在外面!),然后允许 HTTP (80) 和 HTTPS (443) 端口,这是网站服务必需的。
      sudo ufw allow OpenSSH
      sudo ufw allow 'Nginx Full'
      sudo ufw enable

      当提示 Command may disrupt existing ssh connections. 时,输入 y 确认。


第三步:安装 Web 服务器 (Nginx)

Nginx 是一个高性能、轻量级的 Web 服务器和反向代理服务器,非常适合现代网站。

  1. 安装 Nginx

    sudo apt install nginx -y
  2. 启动并设置开机自启

    sudo systemctl start nginx
    sudo systemctl enable nginx
  3. 检查 Nginx 状态

    sudo systemctl status nginx

    如果看到绿色的 active (running),说明 Nginx 已经成功运行。

  4. 测试

    • 在浏览器中输入你的服务器公网 IP 地址。
    • 如果能看到 "Welcome to nginx!" 页面,说明 Nginx 安装成功!

第四步:安装数据库 (MySQL / MariaDB)

MySQL 是最流行的关系型数据库管理系统,在 Ubuntu 上,通常推荐安装它的分支 MariaDB。

  1. 安装 MariaDB

    sudo apt install mariadb-server -y
  2. 启动并设置开机自启

    sudo systemctl start mariadb
    sudo systemctl enable mariadb
  3. 安全配置

    • 运行安全脚本,它会引导你设置 root 密码、移除匿名用户、禁止远程 root 登录等。
      sudo mysql_secure_installation
    • 按提示操作
      • Enter current password for root (enter for none): 直接回车(因为刚安装,root 默认无密码)。
      • Switch to unix_socket authentication [Y/n]:建议输入 n,因为对于服务器来说,使用密码认证更灵活。
      • Set root password? [Y/n]:输入 Y 并设置一个强密码。
      • 接下来会有一系列问题,如 Remove anonymous users?, Disallow root login remotely?, Remove test database?, Reload privileges?,全部输入 Y 即可。

第五步:安装 PHP 和 PHP-FPM

PHP 是一种服务器端脚本语言,用于处理动态网页内容,PHP-FPM (FastCGI Process Manager) 是一个 PHP 的 FastCGI 实现,能让 Nginx 将 PHP 请求交给它处理。

  1. 安装 PHP 和必要的扩展

    • php-fpm 是核心包。
    • php-mysql 是让 PHP 能够连接 MySQL 数据库的扩展。
    • php-curl, php-gd, php-intl, php-mbstring, php-xml, php-zip 等是很多流行应用(如 WordPress, Laravel)需要的常用扩展。
      sudo apt install php-fpm php-mysql php-curl php-gd php-intl php-mbstring php-soap php-xml php-zip -y
  2. 检查 PHP-FPM 状态

    sudo systemctl status php8.1-fpm

    注意:你的 PHP 版本号可能是 php8.0-fpmphp8.2-fpm,取决于 Ubuntu 的版本,确保状态为 active (running)


第六步:配置 Nginx 虚拟主机

虚拟主机允许你在一台服务器上托管多个网站,我们将为你的第一个网站创建一个配置。

  1. 创建网站目录

    • 我们将在 /var/www 目录下创建一个以你的域名(example.com)命名的文件夹。
      sudo mkdir -p /var/www/example.com
  2. 设置目录权限

    • 让当前用户(adminuser)拥有该目录的所有权,这样你就不需要每次都用 sudo 来操作文件了。
      sudo chown -R $USER:$USER /var/www/example.com
    • 设置正确的权限:
      sudo chmod -R 755 /var/www/example.com
  3. 创建 Nginx 配置文件

    • /etc/nginx/sites-available/ 目录下创建一个新的配置文件。
      sudo nano /etc/nginx/sites-available/example.com
    • 粘贴到文件中,务必将 example.comserver_ip 替换成你自己的域名和服务器 IP
    server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/example.com;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        }
        location ~ /\.ht
分享:
扫描分享到社交APP
上一篇
下一篇