阿里云服务器Linux环境配置全教程

本教程将引导你完成以下步骤:

阿里云服务器linux环境配置教程
(图片来源网络,侵删)
  1. 准备工作:购买并连接服务器。
  2. 基础安全配置:修改密码、更新系统、创建新用户。
  3. 防火墙配置:开放必要端口(如SSH, 80, 443)。
  4. 安装常用软件:安装Nginx、MySQL、PHP(LNMP环境)。
  5. 部署测试项目:上传一个静态网页进行测试。

第一步:准备工作

1 购买并启动ECS实例

如果你还没有服务器,请登录 阿里云ECS控制台 创建一个新的实例。

  • 选择镜像:选择 CentOS 7.x 64位。
  • 实例规格:新手建议选择 共享型s6-c1m1.small突发性能型,性价比高。
  • 网络和安全组:选择默认的专有网络VPC和安全组,安全组是虚拟防火墙,后续我们需要配置它。
  • 设置登录凭证:选择“自定义密码”,并设置一个强密码。务必保存好这个密码!

2 连接服务器

创建成功后,在ECS实例列表中找到你的服务器,点击“更多” -> “密码/密钥” -> “重置实例密码”,输入你设置的密码。

你可以通过多种方式连接服务器,最常用的是 SSH客户端

  • Windows用户

    阿里云服务器linux环境配置教程
    (图片来源网络,侵删)
    • 方法一(推荐):使用 PuTTYXshell 等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用户身份登录到服务器。

阿里云服务器linux环境配置教程
(图片来源网络,侵删)

第二步:基础安全配置

强烈建议不要一直使用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 配置阿里云安全组

  1. 登录 阿里云ECS控制台
  2. 在左侧菜单点击“安全组”。
  3. 找到你的服务器所在的安全组,点击“配置规则”。
  4. 点击“手动添加规则”,添加以下规则:
方向 授权策略 协议类型 端口范围 描述
入方向 允许 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服务器的完整环境配置:

  1. 安全地连接并登录服务器。
  2. 创建了普通用户并赋予 sudo 权限。
  3. 配置了防火墙,开放了必要端口。
  4. 成功安装并配置了 Nginx、MySQL、PHP (LNMP) 环境。
  5. 部署并测试了一个PHP文件,验证了环境可用性。

你就可以将你的网站代码上传到 /usr/share/nginx/html 目录(或你自定义的网站目录),开始你的项目之旅了!