首页主机资讯centos lnmp如何配置虚拟主机

centos lnmp如何配置虚拟主机

时间2025-10-15 21:13:03发布访客分类主机资讯浏览925
导读:CentOS LNMP配置虚拟主机步骤 1. 前提条件:安装LNMP基础环境 在配置虚拟主机前,需确保已安装Nginx、MySQL/MariaDB、PHP及PHP-FPM。若未安装,可通过以下命令快速部署(以CentOS 7/8为例): #...

CentOS LNMP配置虚拟主机步骤

1. 前提条件:安装LNMP基础环境

在配置虚拟主机前,需确保已安装Nginx、MySQL/MariaDB、PHP及PHP-FPM。若未安装,可通过以下命令快速部署(以CentOS 7/8为例):

# 安装EPEL仓库(可选,用于扩展软件包)
sudo yum install epel-release -y

# 安装Nginx
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

# 安装MariaDB(或MySQL)
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation  # 运行安全脚本,设置root密码

# 安装PHP及常用扩展
sudo yum install php php-fpm php-mysqlnd php-gd php-xml -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

2. 创建虚拟主机配置文件

LNMP一键安装包(若使用)会默认将虚拟主机配置存放在/usr/local/nginx/conf/vhost/目录下;手动安装则通常在/etc/nginx/conf.d/目录下创建配置文件。
example.com为例,执行以下命令创建配置文件:

sudo vi /etc/nginx/conf.d/example.com.conf

写入以下内容(按需修改域名、目录):

server {
    
    listen 80;
    
    server_name example.com www.example.com;
      # 替换为你的域名
    root /var/www/example.com/html;
               # 网站根目录(需提前创建)
    index index.php index.html index.htm;


    # 前端路由处理
    location / {
    
        try_files $uri $uri/ /index.php?$query_string;

    }


    # PHP处理
    location ~ \.php$ {
    
        include fastcgi_params;
    
        fastcgi_pass unix:/run/php-fpm/www.sock;
      # PHP-FPM监听socket(默认路径)
        fastcgi_index index.php;
    
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }


    # 禁止访问.htaccess文件
    location ~ /\.ht {
    
        deny all;

    }

}
    

3. 创建网站目录并设置权限

# 创建网站根目录
sudo mkdir -p /var/www/example.com/html

# 设置目录所有者(Nginx默认用户为nginx,若使用其他用户需调整)
sudo chown -R nginx:nginx /var/www/example.com

# 设置目录权限
sudo chmod -R 755 /var/www/example.com

# 创建测试页面
echo "<
    ?php phpinfo();
     ?>
    " | sudo tee /var/www/example.com/html/index.php

4. 测试Nginx配置并重载

# 测试配置文件语法
sudo nginx -t
# 若输出“syntax is ok”则表示配置正确

# 重载Nginx使配置生效
sudo systemctl reload nginx

5. 配置DNS解析

将域名example.comwww.example.com的A记录指向服务器IP(需在域名注册商或DNS管理平台操作)。
测试访问:在浏览器输入http://example.com,应显示PHP信息页面。

6. 可选:配置SSL证书(启用HTTPS)

使用Let’s Encrypt免费证书,执行以下命令:

# 安装Certbot工具
sudo yum install certbot python2-certbot-nginx -y

# 获取并安装证书
sudo certbot --nginx -d example.com -d www.example.com
# 按提示完成验证,证书会自动配置到Nginx中

# 设置证书自动续期(Let's Encrypt有效期90天)
sudo systemctl enable certbot.timer

注意事项

  • 若使用LNMP一键安装包,也可通过./vhost.sh脚本快速添加虚拟主机(按提示输入域名、目录等信息)。
  • 确保PHP-FPM的listen参数与Nginx配置中的fastcgi_pass一致(默认均为/run/php-fpm/www.sock)。
  • 防火墙需开放HTTP(80)和HTTPS(443)端口:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos lnmp如何配置虚拟主机
本文地址: https://pptw.com/jishu/727395.html
centos lnmp如何实现防盗链功能 centos lamp服务器性能调优

游客 回复需填写必要信息