阿里云Linux主机如何添加并配置2个网站的详细步骤?

在阿里云Linux主机上添加两个网站,主要涉及环境准备、网站目录创建、数据库配置、Nginx服务器配置及SSL证书部署等步骤,以下以CentOS 7系统为例,结合Nginx+MySQL+PHP(LNMP环境)详细说明操作流程。

阿里云linux主机如何添加2个网站

环境准备

首先确保阿里云Linux主机已安装LNMP环境(若未安装,可通过阿里云云市场的一键部署脚本或手动安装),手动安装基本步骤如下:

  1. 安装Nginx:执行yum install -y nginx,启动并设置开机自启systemctl start nginx && systemctl enable nginx
  2. 安装MySQL:执行yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y,安装MySQL服务器yum install -y mysql-community-server,启动并设置自启systemctl start mysqld && systemctl enable mysqld
  3. 安装PHP:执行yum install -y php php-fpm php-mysql php-gd php-mbstring,启动PHP-FPM并设置自启systemctl start php-fpm && systemctl enable php-fpm

确保已注册两个域名(如site1.com和site2.com),并在阿里云DNS控制台添加A记录,将域名解析至Linux主机的公网IP地址。

创建网站目录及数据库

为两个网站创建独立的目录和数据库,避免文件冲突。

创建网站根目录

/var/www/下创建两个网站的根目录,并设置正确的权限:

mkdir -p /var/www/site1.com /var/www/site2.com
chown -R nginx:nginx /var/www/site1.com /var/www/site2.com
chmod -R 755 /var/www/site1.com /var/www/site2.com

可通过echo "<?php phpinfo(); ?>" > /var/www/site1.com/index.php/var/www/site2.com/index.php创建测试页面,后续通过浏览器访问验证。

创建数据库及用户

登录MySQL(执行mysql -u root -p,首次登录可通过grep 'temporary password' /var/log/mysqld.log获取临时密码),为每个网站创建独立数据库和用户:

阿里云linux主机如何添加2个网站

-- 创建site1数据库和用户
CREATE DATABASE site1_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'site1_user'@'localhost' IDENTIFIED BY 'StrongPassword1!';
GRANT ALL PRIVILEGES ON site1_db.* TO 'site1_user'@'localhost';
FLUSH PRIVILEGES;
-- 创建site2数据库和用户
CREATE DATABASE site2_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'site2_user'@'localhost' IDENTIFIED BY 'StrongPassword2!';
GRANT ALL PRIVILEGES ON site2_db.* TO 'site2_user'@'localhost';
FLUSH PRIVILEGES;

注意:密码需包含大小写字母、数字和特殊字符,增强安全性。

配置Nginx虚拟主机

Nginx通过虚拟主机(server块)实现多网站部署,需为每个网站创建独立的配置文件。

创建Nginx配置文件

/etc/nginx/conf.d/目录下创建两个配置文件,如site1.com.confsite2.com.conf

site1.com.conf示例

server {
    listen 80;
    server_name site1.com www.site1.com;
    root /var/www/site1.com;
    index index.php index.html index.htm;
    access_log /var/log/nginx/site1.com.access.log;
    error_log /var/log/nginx/site1.com.error.log;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    # 防止访问隐藏文件
    location ~ /. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

site2.com.conf示例

server {
    listen 80;
    server_name site2.com www.site2.com;
    root /var/www/site2.com;
    index index.php index.html index.htm;
    access_log /var/log/nginx/site2.com.access.log;
    error_log /var/log/nginx/site2.com.error.log;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

配置文件说明

配置项 作用
listen 80 监听80端口(HTTP访问)
server_name 绑定域名,支持多个域名(用空格分隔)
root 网站根目录路径
index 默认首页文件顺序
access_log/error_log 访问日志和错误日志路径,便于排查问题
location ~ .php$ 处理PHP文件,通过fastcgi_pass将请求传递给PHP-FPM(9000端口)

测试并重启Nginx

执行nginx -t检查配置文件语法是否正确,若无报错则执行systemctl reload nginx重新加载配置。

阿里云linux主机如何添加2个网站

配置SSL证书(可选但推荐)

为网站启用HTTPS,需申请SSL证书,可通过阿里云免费证书服务申请(1年有效期),下载Nginx版本的证书文件(.pem和.key),上传至服务器/etc/nginx/ssl/目录,修改配置文件:

修改site1.com.conf

server {
    listen 443 ssl;
    server_name site1.com www.site1.com;
    root /var/www/site1.com;
    index index.php index.html index.htm;
    ssl_certificate /etc/nginx/ssl/site1.com.pem;
    ssl_certificate_key /etc/nginx/ssl/site1.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    # 其他配置保持不变...
}
# 添加HTTP跳转HTTPS
server {
    listen 80;
    server_name site1.com www.site1.com;
    return 301 https://$server_name$request_uri;
}

同理修改site2.com.conf,上传对应证书文件后重启Nginx。

测试访问

  1. HTTP访问:在浏览器输入http://site1.comhttp://site2.com,若显示PHP测试页面或网站首页,说明配置成功。
  2. HTTPS访问:输入https://site1.com,若显示安全锁标志,表示SSL证书配置正确。
  3. 检查日志:若无法访问,可通过tail -f /var/log/nginx/site1.com.error_log查看错误日志,排查权限、配置或数据库连接问题。

相关问答FAQs

问题1:添加网站后无法访问,如何排查?
解答

  1. 检查Nginx配置:执行nginx -t确认语法正确,若无报错则systemctl reload nginx
  2. 检查防火墙:确保80、443端口已开放,执行firewall-cmd --list-ports查看,未开放则执行firewall-cmd --add-port=80/tcp --permanent并重启防火墙firewall-cmd --reload
  3. 检查目录权限:确认网站目录属主为nginx,执行chown -R nginx:nginx /var/www/站点目录
  4. 检查域名解析:通过ping site1.com确认域名是否解析至服务器IP,若未生效则等待DNS propagation(通常10分钟内)。
  5. 检查PHP-FPM:确认PHP-FPM运行状态,执行systemctl status php-fpm,未启动则systemctl start php-fpm

问题2:是否可以为不同网站配置不同的PHP版本?
解答
可以,通过安装多个PHP版本(如PHP 7.4和PHP 8.0)并为每个网站配置独立的PHP-FPM pool实现,步骤如下:

  1. 安装多版本PHP:执行yum install -y php74 php74-fpm php80 php80-fpm
  2. 为site1.com创建PHP-FPM pool配置文件/etc/php-fpm.d/site1.conf
    [site1]
    user = nginx
    group = nginx
    listen = /var/run/php-fpm/site1.sock
    listen.owner = nginx
    listen.group = nginx
    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 5
    pm.min_spare_servers = 5
    pm.max_spare_servers = 10
  3. 修改site1.com.conf的PHP处理部分:
    location ~ .php$ {
        fastcgi_pass unix:/var/run/php-fpm/site1.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
  4. 启动对应PHP-FPM服务并重启Nginx:systemctl start php74-fpm php80-fpm && systemctl reload nginx
    通过此方式,site1.com可使用PHP 7.4,site2.com使用PHP 8.0,实现版本隔离。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30934.html

(0)
酷番叔酷番叔
上一篇 2025年9月26日 20:59
下一篇 2025年9月26日 21:24

相关推荐

  • Linux如何查询进程号?命令与操作步骤详解

    在Linux系统中,进程号(PID,Process ID)是每个进程的唯一标识符,用于系统管理、进程监控和资源调度,无论是排查系统问题、终止异常进程,还是优化性能,准确查询进程号都是基础操作,Linux提供了多种命令来查询进程号,不同命令适用于不同场景,本文将详细介绍这些方法及其使用技巧,基础命令:ps——静态……

    2025年9月16日
    4700
  • Linux运行程序脚本如何兼顾安全与效率?

    运行可执行程序直接运行(需执行权限) chmod +x program_name # 添加执行权限 ./program_name # 执行当前目录下的程序关键点:Linux默认不搜索当前目录(安全机制),必须用 显式指定路径,若程序在系统路径(如 /usr/bin),可直接输入程序名(如 firefox),指定……

    2025年7月30日
    5500
  • Linux系统如何设置root用户初始口令?

    在Linux系统中,root用户是拥有最高权限的管理员账户,能够执行所有系统操作,因此设置一个强健且安全的root口令至关重要,无论是新系统安装后的初始配置,还是日常使用中的安全维护,正确设置和管理root口令都是系统管理员的核心任务之一,本文将详细介绍Linux系统中设置root口令的多种方法、安全强化策略及……

    2025年9月29日
    3800
  • Linux系统如何修改锁屏壁纸?

    在Linux系统中,修改锁屏壁纸的方法因桌面环境的不同而存在差异,常见的桌面环境如GNOME、KDE Plasma、XFCE、MATE、Cinnamon等,各有专属的工具和配置路径,本文将详细介绍主流桌面环境下修改锁屏壁纸的具体步骤,同时提供命令行方法和通用工具,帮助用户灵活完成设置,GNOME桌面环境(Ubu……

    2025年8月24日
    5100
  • lsblk命令怎么用?

    在Linux系统中,查看硬盘的ID(通常指硬盘的唯一标识符,如UUID、WWN或序列号)是管理存储设备的关键操作,硬盘ID可用于挂载分区、识别特定硬盘或排查硬件问题,以下是几种专业、可靠且安全的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等):lsblk 是最简单的方式,可列出……

    2025年6月19日
    8600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信