阿里云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性能提升的秘密,Page Cache如何工作?

    Page Cache是Linux内核管理的内存缓存区域,通过缓存磁盘文件数据减少物理I/O访问次数,利用内存高速特性显著提升系统读写性能。

    2025年7月24日
    3400
  • 如何查找目标进程PID

    在Linux系统中调试多进程程序是开发中的常见需求,尤其在处理并发任务、服务器应用或分布式系统时,多进程调试的难点在于需要同时跟踪多个独立进程的执行状态、协调断点以及分析进程间通信(IPC),以下是详细调试方法及工具指南:核心调试工具及方法GDB(GNU Debugger)基础调试GDB是最常用的调试工具,通过……

    2025年6月15日
    5800
  • Linux如何快速返回上级目录?

    在Linux命令行中,通过cd ..命令可快速返回上级目录,连续使用或结合路径(如cd ../..)能高效导航至更高级目录,是文件系统操作的基础技能。

    2025年6月21日
    5700
  • 在Linux系统中如何查看网卡的MAC地址?常用命令方法有哪些?

    在Linux系统中,MAC地址(Media Access Control Address)是网卡的物理地址,由6组16进制数组成(如00:1A:2B:3C:4D:5E),用于在局域网中唯一标识网络设备,查看MAC地址是网络管理、故障排查和安全配置的常见需求,本文将详细介绍多种查看Linux网卡MAC地址的方法……

    2025年9月20日
    2600
  • Linux系统如何开启FTP服务?

    在Linux系统中,FTP(File Transfer Protocol)是一种常用的文件传输协议,用于在客户端和服务器之间进行文件上传和下载,本文将以CentOS和Ubuntu两大主流发行版为例,详细介绍如何通过vsftpd(Very Secure FTP Daemon)这一轻量级、安全的FTP服务器软件开启……

    2025年9月30日
    1100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信