凌峰创科服务平台

网站 linux 服务器配置

这份指南将以当前最主流的 Ubuntu/DebianCentOS/RHEL 为例,并采用 LAMP (Linux, Apache, MySQL, PHP)LEMP (Linux, Nginx, MySQL, PHP) 架构,这是目前最成熟的网站部署方案。


目录

  1. 第一步:准备工作与基础系统配置

    • 服务器选择与连接
    • 更新系统
    • 配置静态 IP (可选)
    • 设置主机名
    • 创建新用户并配置 sudo
    • 配置防火墙
    • 配置 SSH 安全 (禁用 root 登录、密钥登录)
    • 安装常用工具
  2. 第二步:安装 Web 服务器 (Nginx 或 Apache)

    • 选择 Nginx 还是 Apache?
    • 安装和配置 Nginx (LEMP 架构)
    • 安装和配置 Apache (LAMP 架构)
  3. 第三步:安装和配置数据库服务器 (MySQL/MariaDB)

    • 安装 MySQL/MariaDB
    • 安全配置 (设置 root 密码、移除匿名用户等)
    • 创建网站数据库和用户
  4. 第四步:安装和配置 PHP

    • 安装 PHP 及常用扩展
    • 配置 PHP-FPM (与 Nginx 配合) 或 libapache2-mod-php (与 Apache 配合)
  5. 第五步:部署网站

    网站 linux 服务器配置-图1

    • 创建网站根目录
    • 设置文件权限和所有者
    • 配置虚拟主机 (Nginx/Apache)
    • 上传网站文件
  6. 第六步:配置 SSL 证书 (HTTPS)

    • 安装 Certbot
    • 获取和安装 Let's Encrypt 证书
  7. 第七步:性能优化与安全加固

    • 配置 OPcache
    • 配置缓存 (Nginx/Apache)
    • 安装 Fail2ban 防暴力破解
    • 定期备份策略

第一步:准备工作与基础系统配置

这是所有操作的基础,确保服务器安全、稳定。

服务器选择与连接

  • 云服务商: 阿里云、腾讯云、AWS、Google Cloud、DigitalOcean、Vultr 等。
  • 连接: 使用 SSH 客户端连接服务器。
    # 格式: ssh username@server_ip
    ssh root@your_server_ip

更新系统

保持系统软件包为最新版本,修复安全漏洞。

网站 linux 服务器配置-图2

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo yum update -y
# 或者 (对于 CentOS 8+/RHEL 8+)
sudo dnf update -y

配置静态 IP (可选)

如果使用云服务器,通常在控制台配置即可,如果是在本地虚拟机,需要修改网络配置文件。

设置主机名

# Ubuntu/Debian
sudo hostnamectl set-hostname your_server_hostname
# CentOS/RHEL
sudo hostnamectl set-hostname your_server_hostname

创建新用户并配置 sudo

不要一直使用 root 用户操作!

# 创建一个新用户,'webadmin'
adduser webadmin
# 将新用户添加到 sudo 组
usermod -aG sudo webadmin
# 切换到新用户
su - webadmin

配置防火墙

# UFW (Ubuntu/Debian 默认)
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full' # 或者 'Apache Full'
sudo ufw enable
# FirewallD (CentOS/RHEL 默认)
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

配置 SSH 安全

编辑 SSH 配置文件 /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

修改以下几项:

网站 linux 服务器配置-图3

  • PermitRootLogin no: 禁止 root 用户直接登录。
  • PasswordAuthentication no: 强制使用 SSH 密钥登录,更安全。
  • Port 22: 可以修改为其他非标准端口增加安全性。

操作流程:

  1. 在本地电脑生成 SSH 密钥对:ssh-keygen -t rsa -b 4096
  2. 将公钥复制到服务器:ssh-copy-id webadmin@your_server_ip
  3. 保存并关闭 /etc/ssh/sshd_config 文件后,重启 SSH 服务:
    sudo systemctl restart sshd

安装常用工具

# Ubuntu/Debian
sudo apt install -y curl wget git unzip vim
# CentOS/RHEL
sudo yum install -y curl wget git unzip vim

第二步:安装和配置 Web 服务器

选择 Nginx 还是 Apache?

  • Nginx (LEMP):
    • 优点: 高并发性能卓越,反向代理功能强大,配置简洁,资源占用低,现代 Web 应用的首选。
    • 缺点: 配置规则和 .htaccess 不兼容(需要转换)。
  • Apache (LAMP):
    • 优点: 功能模块丰富,兼容性好(尤其是 .htaccess),历史悠久,文档齐全。
    • 缺点: 在处理高并发静态文件请求时,性能通常不如 Nginx。

建议: 除非你有特殊需求(如大量依赖 .htaccess 的旧项目),否则优先选择 Nginx

安装和配置 Nginx (LEMP 架构)

# Ubuntu/Debian
sudo apt install -y nginx
# CentOS/RHEL
sudo yum install -y nginx
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx

安装和配置 Apache (LAMP 架构)

# Ubuntu/Debian
sudo apt install -y apache2
# CentOS/RHEL
sudo yum install -y httpd
# 启动并设置开机自启
sudo systemctl start httpd # CentOS/RHEL
sudo systemctl start apache2 # Ubuntu/Debian
sudo systemctl enable httpd
sudo systemctl enable apache2

第三步:安装和配置数据库服务器

这里我们以 MariaDB (MySQL 的一个分支,完全兼容) 为例。

# Ubuntu/Debian
sudo apt install -y mariadb-server mariadb-client
# CentOS/RHEL
sudo yum install -y mariadb-server mariadb
# 启动并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb

安全配置

运行安全脚本,它会引导你设置 root 密码、移除匿名用户等。

sudo mysql_secure_installation

按照提示操作,通常一路 Y (Yes) 是最安全的选择。

创建网站数据库和用户

# 登录 MariaDB/MySQL
sudo mysql -u root -p
# 在 MariaDB/MySQL 命令行中执行以下 SQL 语句
CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'your_db_user'@'localhost' IDENTIFIED BY 'a_very_strong_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_db_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

请务必替换 your_database_name, your_db_user, 和 a_very_strong_password 为你自己的信息。


第四步:安装和配置 PHP

安装 PHP 及常用扩展

# Ubuntu/Debian
sudo apt install -y php php-fpm php-mysql php-mbstring php-xml php-curl php-gd php-zip
# CentOS/RHEL (需要 EPEL 源)
sudo yum install -y epel-release
sudo yum install -y php php-fpm php-mysqlnd php-mbstring php-xml php-curl php-gd php-zip
# 启动并设置开机自启
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

配置 PHP-FPM (与 Nginx 配合)

编辑 PHP-FPM 的 www.conf 配置文件,找到 listen = /run/php/php8.1-fpm.sock (版本号可能不同) 或 listen = 127.0.0.1:9000,确保 Nginx 配置中的 fastcgi_pass 指令与此一致。

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