logo

详解LNMP环境下的虚拟主机设置步骤

2025-06-13 by Joshua Nash
要创建一个简单的LNMP环境(Linux + Nginx + MySQL + PHP),并设置虚拟主机,请按照以下步骤操作:,1. **安装LAMP/ LNMP**:首先确保您的系统已经安装了Apache、MySQL和PHP,这些通常是默认安装在大多数Linux发行版中的。,2. **安装Nginx**:, - 下载Nginx的源码包。, - 解压文件到指定目录。, - 运行./configure以自动生成配置选项。, - 使用make && make install来编译和安装Nginx。, - 创建Nginx的主目录,/usr/local/nginx/wwwroot。, - 配置Nginx以运行在监听80端口上,然后启动服务。,3. **配置数据库**:, - 在MySQL中,创建新用户或使用现有用户连接。, - 初始化数据库和表结构,如CREATE DATABASE mydb;USE mydb;。, - 建立新的用户账户,CREATE USER 'username'@'localhost'; GRANT ALL PRIVILEGES ON mydb.* TO 'username'@'localhost'; FLUSH PRIVILEGES;.,4. **配置PHP**:, - 安装所需的PHP扩展。, - 为每个虚拟主机创建一个新的PHP文件夹,并将其放在/var/www/html/your_domain.com/public_html下。, - 编辑相应的PHP配置文件(通常位于/etc/php.ini)以更改服务器路径等设置。,5. **配置Apache与Nginx**:, - 将Nginx作为Web服务器配置文件的一部分进行编辑。, - 确保Apache没有覆盖任何Nginx的配置,特别是有关于站点根目录的设置。,6. **创建虚拟主机**:, - 在Nginx配置文件中添加新的虚拟主机条目,以便将请求转发到特定的物理文件位置。, - 使用server_name指令指明域名,并通过location / { ... }部分定义URL路径规则。,7. **测试配置**:, - 使用nginx -t命令检查Nginx配置是否正确无误。, - 启动Apache和Nginx服务。,8. **管理虚拟主机**:, - 持续监控日志文件以识别任何错误。, - 调整Nginx和Apache的配置文件,包括添加更多的虚拟主机或修改现有的配置,以满足不同网站的需求。,在实际部署过程中,您可能需要根据具体的服务器版本和个人需求对上述步骤进行微调。

在Linux系统中设置虚拟主机是一个常见的需求,特别是在开发和测试环境中,本篇文章将详细介绍如何在LAMP(Linux,Apache,MySQL,PHP)环境的LNMP(Linux,Nginx,MariaDB,PHP-FPM)组合下配置虚拟主机。

安装LNMP环境

确保你的系统上已经安装了必要的软件包,以下是基本的安装步骤:

sudo apt update && sudo apt upgrade -y  # 对于Ubuntu/Debian

对于CentOS/RHEL,可以使用以下命令来安装:

sudo yum install epel-release -y
sudo yum update -y
sudo yum install nginx mariadb-server php-fpm -y
配置MySQL数据库

启动并启用MariaDB服务:

sudo systemctl start mariadb
sudo systemctl enable mariadb

创建一个新的数据库用户,并赋予其足够的权限以执行所需的操作:

CREATE DATABASE testdb;
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
FLUSH PRIVILEGES;

登录到MySQL并创建一个新用户:

mysql -u root -p
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
启动和检查Nginx

启动Nginx服务:

sudo systemctl start nginx
sudo systemctl enable nginx

检查Nginx是否正在运行:

sudo systemctl status nginx
创建虚拟主机配置文件

/etc/nginx/conf.d目录下创建一个新的配置文件,例如example.com.conf

sudo nano /etc/nginx/conf.d/example.com.conf
server {
    listen 80;
    server_name example.com www.example.com;
    location / {
        root /var/www/html;
        index index.php index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        internal;
    }
}

保存并退出编辑器,然后重启Nginx使更改生效:

sudo systemctl restart nginx
在Web服务器根目录下创建网站

/var/www/html 目录下创建一个新的网站目录,www.example.com

sudo yum install epel-release -y
sudo yum update -y
sudo yum install nginx mariadb-server php-fpm -y0

复制需要托管的文件或内容到新的网站目录中。

验证虚拟主机配置

打开浏览器并访问 http://example.comhttp://www.example.com,你应该能看到你的网站内容。

增加更多虚拟主机

要添加更多的虚拟主机,只需重复上述步骤即可,每个新的配置文件都应包含独立的 listenserver_name 设置,以及相应的 rootlocation 规则。

通过以上步骤,您可以在LNP(Linux、Nginx、MariaDB、PHP-FPM)环境下成功配置虚拟主机,这不仅有助于组织和管理多个域名下的网站,还能提高安全性,记住定期备份重要数据,并确保所有服务都在正确的工作状态下运行。

image
超值优选 限时抢购 轻量云服务器 1核1G 15元/起

热卖推荐 上云必备低价长效云服务器99元/1年,OSS 低至 118.99 元/1年,官方优选推荐

热卖推荐 香港、美国、韩国、日本、限时优惠 立刻购买

优质托管支持

高质量、安全的网络托管方面拥有十多年的经验我们是您在线旅程的战略合作伙伴。

联系我们 企业微信