阿里云服务器Linux环境配置全教程
本教程将引导你完成以下步骤:

- 准备工作:购买并连接服务器。
- 基础安全配置:修改密码、更新系统、创建新用户。
- 防火墙配置:开放必要端口(如SSH, 80, 443)。
- 安装常用软件:安装Nginx、MySQL、PHP(LNMP环境)。
- 部署测试项目:上传一个静态网页进行测试。
第一步:准备工作
1 购买并启动ECS实例
如果你还没有服务器,请登录 阿里云ECS控制台 创建一个新的实例。
- 选择镜像:选择
CentOS 7.x64位。 - 实例规格:新手建议选择
共享型如s6-c1m1.small或突发性能型,性价比高。 - 网络和安全组:选择默认的专有网络VPC和安全组,安全组是虚拟防火墙,后续我们需要配置它。
- 设置登录凭证:选择“自定义密码”,并设置一个强密码。务必保存好这个密码!
2 连接服务器
创建成功后,在ECS实例列表中找到你的服务器,点击“更多” -> “密码/密钥” -> “重置实例密码”,输入你设置的密码。
你可以通过多种方式连接服务器,最常用的是 SSH客户端。
-
Windows用户:
(图片来源网络,侵删)- 方法一(推荐):使用 PuTTY 或 Xshell 等SSH客户端软件。
- 方法二(Windows 10/11自带):打开“命令提示符”或“PowerShell”,输入以下命令:
ssh root@<你的服务器公网IP地址>
ssh root@123.45.67.89首次连接会提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后输入你设置的root密码。
-
macOS / Linux用户:
- 打开终端,直接使用
ssh命令:ssh root@<你的服务器公网IP地址>
同样,首次连接输入
yes,然后输入密码。
- 打开终端,直接使用
连接成功后,你会看到类似 [root@iZbp1a5xxxxxx ~]# 的提示符,表示你已经以root用户身份登录到服务器。

第二步:基础安全配置
强烈建议不要一直使用root用户进行操作,因为root拥有最高权限,我们应该创建一个普通用户来执行日常任务。
1 更新系统
更新服务器的软件包列表和已安装的软件,确保系统是最新和安全的。
# CentOS/RHEL/Fedora 系统 yum update -y # Ubuntu/Debian 系统 # apt update && apt upgrade -y
2 创建新用户
假设我们要创建一个名为 deploy 的用户。
adduser deploy
3 为新用户设置密码
为 deploy 用户设置一个密码。
passwd deploy
系统会提示你输入并确认新密码。
4 赋予新用户sudo权限
sudo 允许普通用户以root权限执行命令,非常方便。
# 将用户添加到 wheel 组(在CentOS中,wheel组的成员默认拥有sudo权限) usermod -aG wheel deploy
5 切换到新用户
我们退出root登录,然后用新用户身份登录。
# 退出当前登录 exit # 使用新用户重新登录 ssh deploy@<你的服务器公网IP地址>
登录后,你可以通过在命令前加上 sudo 来执行需要root权限的命令,sudo yum install ...。
第三步:防火墙配置
为了能让外部访问你的服务(如网站),需要在安全组和服务器防火墙中开放相应端口。
1 配置阿里云安全组
- 登录 阿里云ECS控制台。
- 在左侧菜单点击“安全组”。
- 找到你的服务器所在的安全组,点击“配置规则”。
- 点击“手动添加规则”,添加以下规则:
| 方向 | 授权策略 | 协议类型 | 端口范围 | 描述 |
|---|---|---|---|---|
| 入方向 | 允许 | SSH(22) | 22/22 | 允许SSH连接 |
| 入方向 | 允许 | HTTP(80) | 80/80 | 允许HTTP访问 |
| 入方向 | 允许 | HTTPS(443) | 443/443 | 允许HTTPS访问 |
| 入方向 | 允许 | 自定义TCP | 3306/3306 | (可选) 允许MySQL访问 |
| 入方向 | 允许 | 自定义TCP | 6379/6379 | (可选) 允许Redis访问 |
2 配置服务器防火墙 (Firewalld)
虽然安全组已经做了防护,但配置服务器自带的防火墙更安全。
# 1. 检查firewalld状态 sudo systemctl status firewalld # 2. 如果未启动,则启动并设置为开机自启 sudo systemctl start firewalld sudo systemctl enable firewalld # 3. 永久开放SSH(22), HTTP(80), HTTPS(443)端口 sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 4. (可选) 开放MySQL端口 # sudo firewall-cmd --permanent --add-port=3306/tcp # 5. 重新加载防火墙配置,使规则生效 sudo firewall-cmd --reload # 6. 查看已开放的端口和服务 sudo firewall-cmd --list-all
第四步:安装LNMP环境 (Linux + Nginx + MySQL + PHP)
LNMP是目前非常流行的Web服务器架构。
1 安装Nginx**
Nginx是一个高性能的HTTP和反向代理服务器。
# 安装EPEL仓库(如果还没有) sudo yum install epel-release -y # 安装Nginx sudo yum install nginx -y # 启动Nginx并设置为开机自启 sudo systemctl start nginx sudo systemctl enable nginx # 检查Nginx状态 sudo systemctl status nginx
在浏览器中输入你的服务器公网IP地址,你应该能看到Nginx的欢迎页面。
2 安装MySQL (MariaDB)**
MySQL是世界上最流行的开源数据库,在CentOS 7中,官方推荐使用MariaDB,它是MySQL的一个分支。
# 安装MariaDB服务器和客户端 sudo yum install mariadb-server mariadb -y # 启动MariaDB并设置为开机自启 sudo systemctl start mariadb sudo systemctl enable mariadb # 运行安全脚本,它会设置root密码、移除匿名用户等 sudo mysql_secure_installation
在 mysql_secure_installation 过程中,大部分选项直接按 Enter 键使用默认值即可,但当被问到 Set root password? [Y/n] 时,输入 Y 并设置一个强密码。
3 安装PHP (及常用扩展)
PHP是一种服务器端脚本语言,用于动态生成网页内容。
# 安装EPEL和Remi仓库(提供最新的PHP版本) sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum install -y yum-utils sudo yum-config-manager --enable remi-php74 # 安装PHP 7.4,你也可以选择其他版本如php80 # 安装PHP和常用扩展 sudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-xml php-mbstring php-json php-opcache # 启动PHP-FPM并设置为开机自启 sudo systemctl start php-fpm sudo systemctl enable php-fpm
4 配置Nginx支持PHP
Nginx本身不处理PHP文件,需要通过 php-fpm 来处理,我们需要修改Nginx的配置文件。
# 备份默认配置文件 sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak # 编辑主配置文件 sudo vi /etc/nginx/nginx.conf
在 http 块中,找到或添加以下 include 指令,确保它包含 conf.d 目录下的所有配置文件:
http {
# ... 其他配置 ...
include /etc/nginx/conf.d/*.conf;
}
编辑默认的站点配置文件:
sudo vi /etc/nginx/conf.d/default.conf
```替换为以下配置,这将把所有 `.php` 请求转发给 `php-fpm` 处理:
```nginx
server {
listen 80;
server_name _; # 监听所有域名
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# 将所有 .php 文件请求转发给 PHP-FPM
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# 指向 php-fpm 的监听地址和 socket 文件
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
保存并退出(wq)。
5 重启Nginx使配置生效
sudo nginx -t # 测试配置文件语法是否正确 sudo systemctl restart nginx
第五步:部署测试项目
我们来创建一个 info.php 文件,以验证PHP是否正确配置。
1 创建PHP测试文件
# 使用echo命令创建文件,简单直接 sudo echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
或者使用 vi 编辑器:
sudo vi /usr/share/nginx/html/info.php
输入 i 进入编辑模式,粘贴以下内容:
<?php phpinfo(); ?>
按 Esc,输入 wq 保存退出。
2 测试访问
在浏览器中访问 http://<你的服务器公网IP地址>/info.php。
如果你能看到一个详细的PHP信息页面,恭喜你!LNMP环境已经成功搭建!
3 安全建议
重要! info.php 文件会暴露服务器的PHP配置和敏感信息,测试完成后应立即删除。
sudo rm -f /usr/share/nginx/html/info.php
至此,你已经完成了一个阿里云Linux服务器的完整环境配置:
- 安全地连接并登录服务器。
- 创建了普通用户并赋予
sudo权限。 - 配置了防火墙,开放了必要端口。
- 成功安装并配置了 Nginx、MySQL、PHP (LNMP) 环境。
- 部署并测试了一个PHP文件,验证了环境可用性。
你就可以将你的网站代码上传到 /usr/share/nginx/html 目录(或你自定义的网站目录),开始你的项目之旅了!
