目录
- 准备工作
- 第一步:安装 Ubuntu Server 系统
- 第二步:初始服务器配置
- 1 更新系统
- 2 设置静态 IP 地址
- 3 配置主机名
- 4 创建新用户并设置 SSH 密钥登录(安全重点)
- 5 配置防火墙
- 第三步:搭建 LAMP/LEMP 环境(以部署网站为例)
- 1 什么是 LAMP/LEMP?
- 2 安装 Web 服务器 (Nginx)
- 3 安装数据库服务器 (MySQL)
- 4 安装 PHP 及相关扩展
- 第四步:部署一个网站(WordPress 示例)
- 1 创建数据库和用户
- 2 下载并配置 WordPress
- 3 设置文件权限
- 第五步:常用维护与管理命令
- 总结与后续学习
准备工作
在开始之前,你需要准备以下几样东西:

- 一台云服务器或物理机:
- 云服务器(推荐): 可以从阿里云、腾讯云、AWS、Vultr、DigitalOcean 等平台购买,对于初学者,选择一个入门级的配置(如 1核CPU/2GB内存/40GB硬盘)就足够了。
- 物理机: 如果你有一台闲置的电脑,可以安装 Ubuntu Server 版本。
- 操作系统镜像: 从 Ubuntu 官网 下载最新的 LTS (长期支持) 版本,Ubuntu 22.04.3 LTS。
- SSH 客户端:
- Windows 用户: 推荐使用 PuTTY (图形界面) 或 Windows 10/11 自带的 PowerShell/WSL (命令行)。
- macOS / Linux 用户: 系统自带了强大的
ssh命令行工具。
- (可选但强烈推荐) SSH 密钥对: 为了安全,我们将使用 SSH 密钥而不是密码登录,你可以使用 PuTTY-Gen 或
ssh-keygen命令来生成。
第一步:安装 Ubuntu Server 系统
这部分操作通常在云服务商的控制台或物理机上直接完成。
- 创建实例: 在云服务商控制台创建一个新的实例,选择 Ubuntu 22.04 LTS 镜像。
- 设置登录凭证: 强烈建议在这里设置 SSH 密钥,上传你之前生成的公钥,如果暂时没有,可以先设置一个强密码,之后立即在系统内修改。
- 配置网络: 确保安全组(防火墙)规则允许
SSH (22端口)、HTTP (80端口)和HTTPS (443端口)的入站流量。 - 启动并连接: 启动实例后,获取它的公网 IP 地址。
使用 SSH 客户端连接到你的服务器:
# 格式: ssh 用户名@服务器IP地址 # 默认用户名为 'ubuntu' ssh ubuntu@YOUR_SERVER_IP
首次连接会提示 The authenticity of host... can't be established,输入 yes 即可。
第二步:初始服务器配置
登录后,你会看到一个命令行界面,现在开始进行基础配置。

1 更新系统
确保所有软件包都是最新的,这是一个好习惯。
sudo apt update && sudo apt upgrade -y
2 设置静态 IP 地址
云服务器通常通过 DHCP 获取 IP,但为了稳定,最好在操作系统内部也设置一个静态 IP,编辑 Netplan 配置文件:
# 查找你的网络配置文件,通常是 ens 或 eth 开头
ls /etc/netplan/
# 假设文件是 01-netcfg.yaml
sudo nano /etc/netplan/01-netcfg.yaml
```如下,将 `addresses`、`gateway4` 和 `nameservers` 替换为你的实际网络信息:
```yaml
network:
version: 2
ethernets:
ens33: # 替换为你的网卡名称
dhcp4: no
addresses:
- 192.168.1.100/24 # 你想要的静态IP
gateway4: 192.168.1.1 # 你的网关
nameservers:
addresses: [8.8.8.8, 1.1.1.1] # DNS服务器
保存并退出(Ctrl+X,Y,Enter),然后应用配置:
sudo netplan apply
3 配置主机名
为主机设置一个易于识别的名称。
# 设置主机名 sudo hostnamectl set-hostname my-server # 编辑 hosts 文件,确保 localhost 指向 127.0.0.1 sudo nano /etc/hosts # 在文件中添加或修改 127.0.1.1 这一行 127.0.1.1 my-server
4 创建新用户并设置 SSH 密钥登录(安全重点)
永远不要直接使用 root 用户进行日常操作!
-
创建新用户: 假设我们创建一个名为
deploy的用户。sudo adduser deploy
按照提示设置密码和用户信息。
-
赋予管理员权限:
sudo usermod -aG sudo deploy
这将把
deploy用户添加到sudo组,使其能够执行需要管理员权限的命令。 -
设置 SSH 密钥登录(最关键的安全步骤):
- 在本地机器上,将你的公钥(通常是
~/.ssh/id_rsa.pub文件内容)复制到服务器的~/.ssh/authorized_keys文件中。 - 在服务器上,为
deploy用户创建.ssh目录和文件:# 切换到新用户 su - deploy # 创建 .ssh 目录 mkdir -p ~/.ssh # 创建并编辑 authorized_keys 文件 nano ~/.ssh/authorized_keys
- 将你的公钥粘贴到
authorized_keys文件中,然后保存退出。 - 设置正确的权限: 这一步非常重要,否则 SSH 密钥登录会失败。
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 在本地机器上,将你的公钥(通常是
-
禁用 root SSH 登录:
- 切换回
ubuntu用户或直接使用sudo。 - 编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
- 找到
PermitRootLogin这一行,将其值改为no:PermitRootLogin no - 保存并退出,然后重启 SSH 服务:
sudo systemctl restart sshd
- 切换回
-
测试新用户登录:
- 退出当前 SSH 会话 (
exit)。 - 使用新用户名和密钥重新登录:
ssh deploy@YOUR_SERVER_IP
如果成功,说明安全配置已完成。
- 退出当前 SSH 会话 (
5 配置防火墙
使用 UFW (Uncomplicated Firewall) 来管理端口。
# 允许 SSH 连接 (默认已允许,但显式声明是好习惯) sudo ufw allow OpenSSH # 允许 HTTP (用于网站) sudo ufw allow 'Apache Full' # 或者 'Nginx Full' # 启用防火墙 sudo ufw enable # 输入 'y' 确认
第三步:搭建 LEMP 环境
LEMP 是指 Linux + Nginx + MySQL + PHP,是目前最流行的 Web 服务器环境组合。
1 什么是 LAMP/LEMP?
- LAMP: Linux + Apache + MySQL + PHP
- LEMP: Linux + Nginx + MySQL + PHP
- Nginx 比 Apache 在处理高并发静态资源时性能更优,配置也更灵活,我们选择 Nginx。
2 安装 Web 服务器
安装 Nginx:
sudo apt install nginx -y
安装完成后,Nginx 会自动启动,你可以通过浏览器访问你的服务器 IP 地址,如果看到 "Welcome to nginx!" 页面,说明安装成功。
3 安装数据库服务器
安装 MySQL:
sudo apt install mysql-server -y
安装完成后,运行安全脚本:
sudo mysql_secure_installation
按照提示操作:
- 设置
root用户的密码? ->Y,然后设置一个强密码。 - 移除匿名用户? ->
Y - 不允许
root用户远程登录? ->Y(更安全) - 移除测试数据库? ->
Y - 重新加载权限表? ->
Y
4 安装 PHP 及相关扩展
安装 PHP 和一些常用的扩展(特别是 WordPress 需要的):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
php-fpm(FastCGI Process Manager) 是 Nginx 与 PHP 通信的桥梁。
第四步:部署一个网站(WordPress 示例)
现在我们来搭建一个真正的网站。
1 创建数据库和用户
- 登录 MySQL:
sudo mysql
- 执行以下 SQL 命令(请替换
wordpress_db,wordpress_user,'your_strong_password'为你自己的信息):CREATE DATABASE wordpress_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_strong_password'; GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
2 下载并配置 WordPress
-
下载 WordPress:
cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz
-
移动文件到网站根目录: Nginx 的默认网站根目录是
/var/www/html,我们将 WordPress 文件移动进去。sudo mv /tmp/wordpress/* /var/www/html/
-
配置 Nginx 虚拟主机: 创建一个新的配置文件来托管我们的 WordPress 站点。
sudo nano /etc/nginx/sites-available/wordpress
粘贴以下配置:
server { listen 80; server_name YOUR_SERVER_IP; # 替换为你的域名或IP root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 注意:PHP版本号可能不同,如 php8.0-fpm.sock } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { expires max; log_not_found off; } }server_name可以是你的 IP 地址,也可以是已解析到该 IP 的域名。fastcgi_pass中的路径需要与你的 PHP 版本匹配,可以通过ls /var/run/php/查看。
-
启用站点并测试配置:
# 创建符号链接以启用站点 sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ # 删除默认站点(可选) sudo rm /etc/nginx/sites-enabled/default # 测试 Nginx 配置是否正确 sudo nginx -t # 如果测试通过,重启 Nginx sudo systemctl restart nginx
3 设置文件权限
Web 服务器需要读取和写入 WordPress 文件。
# 将 /var/www/html 的所有权赋予 www-data 用户(Nginx 运行用户)
sudo chown -R www-data:www-data /var/www/html
# 设置正确的文件权限
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
第五步:完成 WordPress 安装
打开浏览器,访问你的服务器 IP 地址,WordPress 的安装向导将会出现,按照提示操作:
- 选择语言。
- 在数据库设置页面,填入我们之前创建的信息:
- 数据库名:
wordpress_db - 用户名:
wordpress_user - 密码:
your_strong_password - 数据库主机:
localhost - 表前缀:
wp_(默认即可)
- 数据库名:
- 点击“现在运行”。
- 设置站点标题、管理员用户名和密码,然后登录。
恭喜!你的 Linux Web 服务器已经成功搭建并运行了 WordPress!
常用维护与管理命令
-
查看系统资源:
htop # 需要安装 sudo apt install htop -y free -h df -h
-
查看服务状态:
sudo systemctl status nginx sudo systemctl status mysql sudo systemctl status php8.1-fpm # 根据你的版本号
-
查看日志:
# Nginx 访问日志 sudo tail -f /var/log/nginx/access.log # Nginx 错误日志 sudo tail -f /var/log/nginx/error.log # MySQL 错误日志 sudo tail -f /var/log/mysql/error.log
-
重启服务:
sudo systemctl restart nginx
总结与后续学习
你已经成功完成了 Linux 服务器的搭建!这是一个坚实的基础,接下来的路还很长,你可以探索:
- 域名与 HTTPS: 购买一个域名,并配置 DNS 指向你的服务器,然后使用 Let's Encrypt 和 Certbot 为你的网站免费安装 SSL 证书,实现 HTTPS 访问。
- 性能优化: 配置 OPcache、启用 Nginx 的 Gzip 压缩、配置 Nginx 缓存等。
- 备份策略: 定期备份你的网站文件和数据库。
- 监控: 使用工具如
Prometheus+Grafana或简单的fail2ban来监控系统状态和安全。 - 容器化: 学习使用 Docker 和 Docker Compose 来部署和管理你的应用,这是现代运维的必备技能。
希望这份教程对你有帮助!祝你玩得开心!
