凌峰创科服务平台

Linux网站服务器搭建如何入门?

我们将使用目前最流行、性能最高的组合:Nginx + MySQL (MariaDB) + PHP,也就是常说的 LEMP 栈,它与传统的 LAMP (Apache) 栈相比,Nginx 在处理高并发静态资源请求时更具优势。

Linux网站服务器搭建如何入门?-图1
(图片来源网络,侵删)

第一部分:环境准备与系统选择

选择合适的 Linux 发行版

对于服务器新手和专家来说,UbuntuCentOS/Rocky Linux 是最主流的选择。

  • Ubuntu (推荐新手): 社区庞大,文档丰富,软件包更新快,命令相对直观,我们将以 Ubuntu 22.04 LTS 为例进行讲解。
  • CentOS/Rocky Linux: 企业级稳定,默认软件包较旧,但极其稳定,适合对稳定性要求极高的生产环境。

准备服务器

你可以使用:

  • 云服务器: 阿里云、腾讯云、AWS、Vultr、DigitalOcean 等,这是最常见的方式,按需付费,弹性伸缩。
  • 物理机/虚拟机: 你自己的闲置电脑或虚拟机软件(如 VMware, VirtualBox)。

确保你的服务器拥有一个公网 IP 地址,并且已经开放了必要的端口

  • 22 (SSH): 用于远程连接服务器。
  • 80 (HTTP): 用于网站访问。
  • 443 (HTTPS): 用于加密的网站访问。

第二部分:基础系统配置

无论使用哪个发行版,第一步都是确保系统是最新的。

Linux网站服务器搭建如何入门?-图2
(图片来源网络,侵删)

更新系统包

# 对于 Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# 对于 CentOS/Rocky Linux
sudo dnf update -y

设置主机名

# 设置一个有意义的主机名,'web-server'
sudo hostnamectl set-hostname web-server

配置防火墙

# 对于 Ubuntu (使用 UFW)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
# 对于 CentOS/Rocky Linux (使用 firewalld)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

第三部分:安装 LEMP 核心组件

安装 Nginx Web 服务器

Nginx 是一个高性能的 HTTP 和反向代理服务器。

# Ubuntu
sudo apt install nginx -y
# CentOS/Rocky Linux
sudo dnf install nginx -y

安装完成后,启动 Nginx 并设置为开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

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

安装数据库服务器 (MySQL / MariaDB)

我们将安装 MariaDB,它是 MySQL 的一个流行分支,完全兼容且开源。

Linux网站服务器搭建如何入门?-图3
(图片来源网络,侵删)
# Ubuntu
sudo apt install mariadb-server mariadb-client -y
# CentOS/Rocky Linux
sudo dnf install mariadb-server mariadb -y

启动并启用 MariaDB:

sudo systemctl start mariadb
sudo systemctl enable mariadb

安全配置 MariaDB: 运行安全脚本,它会设置 root 密码、移除匿名用户、禁止远程 root 登录等。

sudo mysql_secure_installation

按照提示操作,建议:

  • 为 root 设置一个强密码。
  • 对于其他选项,直接按 Y (Yes) 确认即可。

安装 PHP (PHP-FPM)

PHP-FPM (FastCGI Process Manager) 是一种 PHP 的 FastCGI 实现,非常适合与 Nginx 配合使用。

# Ubuntu
# 首先添加 PHP 仓库,以获得更新的版本 (PHP 8.2)
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
# 安装 PHP 8.2 及常用扩展
sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-xmlrpc php8.2-zip php8.2-intl -y
# CentOS/Rocky Linux
# EPEL 仓库通常包含较新的 PHP
sudo dnf install epel-release -y
sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-xmlrpc php-zip php-intl -y

启动并启用 PHP-FPM:

# Ubuntu
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
# CentOS/Rocky Linux
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

第四部分:配置 Nginx 与 PHP 协同工作

我们需要让 Nginx 将 PHP 请求转发给 PHP-FPM 处理。

创建网站配置文件

我们为你的网站创建一个新的 Nginx 配置文件,假设你的域名是 example.com

# 使用你喜欢的编辑器,如 nano
sudo nano /etc/nginx/sites-available/example.com

粘贴到文件中,并务必修改 server_nameroot 路径

server {
    listen 80;
    server_name example.com www.example.com; # 替换成你的域名
    root /var/www/example.com/html;         # 网站根目录
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    # 将 .php 结尾的请求转发给 PHP-FPM
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Ubuntu 路径
        # 如果是 CentOS,路径通常是:/var/run/php-fpm/www.sock
    }
    # 阻止访问隐藏文件
    location ~ /\.ht {
        deny all;
    }
}

创建网站目录并设置权限

# 创建网站根目录
sudo mkdir -p /var/www/example.com/html
# 设置目录所有者为当前用户,避免使用 sudo 编辑文件
sudo chown -R $USER:$USER /var/www/example.com/html
# 设置正确的权限
sudo chmod -R 755 /var/www/example.com/html

启用网站配置

我们需要创建一个符号链接来激活站点配置。

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

为了防止配置文件名冲突,可以删除默认的站点配置:

sudo rm /etc/nginx/sites-enabled/default

测试 Nginx 配置并重启

# 测试配置文件语法是否正确
sudo nginx -t
# 如果输出 successful,则重启 Nginx
sudo systemctl restart nginx

第五部分:测试 PHP 和数据库连接

创建 PHP 测试页面

在网站根目录下创建一个 info.php 文件。

nano /var/www/example.com/html/info.php
<?php
phpinfo();
?>

保存文件后,在浏览器中访问 http://你的服务器IP/info.phphttp://你的域名/info.php,如果看到 PHP 的详细信息页面,说明 Nginx 和 PHP 已经成功集成。

创建一个 WordPress 测试环境(可选,但强烈推荐)

WordPress 是最流行的 CMS,用它来测试非常合适。

a. 创建数据库和用户

# 登录 MariaDB
sudo mysql
# 在 MariaDB shell 中执行以下命令
CREATE DATABASE wordpress_db;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

b. 下载并解压 WordPress

# 进入网站根目录
cd /var/www/example.com/html
# 下载 WordPress (wget 没有安装,先 sudo apt install wget)
wget https://wordpress.org/latest.tar.gz
# 解压
tar -xzvf latest.tar.gz
# 将 WordPress 文件移动到 html 目录下
mv wordpress/* .
# 清理
rm -rf latest.tar.gz wordpress
# 确保权限正确
sudo chown -R www-data:www-data /var/www/example.com/html # Ubuntu
# sudo ch
分享:
扫描分享到社交APP
上一篇
下一篇