阿里云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系统作为开源操作系统,其软件安装方式与Windows、macOS存在显著差异,核心在于依赖管理和软件源机制,不同Linux发行版因包管理工具不同,安装方法也有所区别,总体可分为系统自带包管理器、源码编译、Snap/Flatpak跨平台包、第三方软件中心及二进制包等几类,本文将详细介绍各类方法的操作步骤……

    2025年8月31日
    11300
  • 在Linux操作系统中安装Adobe软件的具体步骤与注意事项是什么?

    在Linux操作系统下安装Adobe软件并非直接的过程,由于Adobe官方对Linux原生支持有限,多数创意设计类软件(如Photoshop、Illustrator、Premiere Pro等)并未提供官方Linux版本,用户可通过第三方兼容层、虚拟机或开源替代方案实现Adobe软件在Linux环境下的运行,以……

    2025年8月27日
    12400
  • Linux系统如何转换界面语言?切换步骤详解?

    Linux系统的语言转换涉及多个层面,包括系统界面语言、终端环境语言、应用程序显示语言等,不同场景下的设置方法有所差异,本文将从图形界面、命令行、应用程序配置等角度详细说明Linux语言转换的具体操作,并附上常见问题的解决方案,图形界面下的语言转换(适用于桌面环境)Linux桌面环境(如GNOME、KDE、XF……

    2025年9月18日
    13600
  • Linux中如何创建软连接?

    在Linux系统中,软连接(符号链接)是一种特殊的文件类型,它类似于Windows系统中的快捷方式,指向另一个文件或目录的路径,软连接可以独立于源文件存在,即使源文件被移动或删除,软连接本身仍存在(但会失效),创建软连接的主要目的是方便访问、节省存储空间(特别是跨文件系统时)或管理分散的文件,本文将详细介绍在L……

    2025年10月4日
    10200
  • Linux下如何写脚本文件?零基础入门的详细步骤与方法有哪些?

    在Linux系统中,脚本文件是自动化任务的核心工具,通过编写脚本可以批量执行命令、简化重复操作,本文将详细介绍Linux下脚本文件的编写方法,从基础语法到高级技巧,帮助读者快速上手,创建脚本文件脚本文件本质是文本文件,需使用扩展名(如.sh)标识,创建方式有两种:使用文本编辑器:通过vi、nano或gedit等……

    2025年9月17日
    11100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信