行业资讯

玩转LNMP,手把手教你添加虚拟主机,轻松搭建你的专属小窝!

2025-06-22 8:07:30 行业资讯 浏览:2次


话说,现在做个网站,环境配置得像开外挂一样爽,LNMP(Linux+Nginx+MySQL+PHP)已经成了许多大佬和小白的标配。可是,搭好基本环境还不够,想让网站像个多开游戏账号那样,多个独立的“虚拟主机”来玩转项目,那该咋整呢?别急,今天咱就扒一扒怎么给LNMP添加虚拟主机,让你轻松管理多个站点,不用上蹿下跳,操作满分,套路满满!

首先,咱们得明确啥是“虚拟主机”——简而言之,就是在一台服务器上开启多个网站,每个网站有独立的访问地址和资源,互不干扰。比如你想开两个站点,一个“我是搞笑大神”,一个“我是技术宅”,不冲突还能双开,玩得嗨呀!

好了,下面就跟我一步步来,别眨眼,精彩多得你眼花缭乱:

第一步:准备工作,环境确认
先确保你的LNMP环境已经装好,Nginx能跑、PHP和MySQL正常运转。用命令验一验:nginx -vphp -vmysql -V,没报错就是有料!还有,确保你有服务器root权限或sudo权限,因为后面咱得动文件动配置。

第二步:给虚拟主机的新站点准备目录
假设你要新开一个网站叫 haha.com,先创建它的根目录:

sudo mkdir -p /var/www/haha.com/public_html
把你的网页文件放进去。放心,网站没内容也能嗨,纯技术感体验先行。顺手设置一下权限,免得权限错误啪啪打脸:
sudo chown -R www-data:www-data /var/www/haha.com/public_html
sudo chmod -R 755 /var/www/haha.com

第三步:配置Nginx虚拟主机
这步才是关键,Nginx的配置文件,是控制虚拟主机的“幕后大BOSS”。在 /etc/nginx/sites-available/ 目录下新建文件,比如 haha.com.conf,内容示范:

server {
    listen 80;
    server_name haha.com www.haha.com;

    root /var/www/haha.com/public_html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
注意这里 fastcgi_pass 的 PHP-FPM socket 路径可能根据你安装版本的不同有所变更,别搞错了,这招是灵魂所在呀!

写完配置别急着高潮,得激活它!通过软连接放到sites-enabled目录:

sudo ln -s /etc/nginx/sites-available/haha.com.conf /etc/nginx/sites-enabled/

第四步:修改主机文件,本地先测测
还没DNS?没关系。先用本地hosts文件+IP模拟,打开: - Windows路径:C:\Windows\System32\drivers\etc\hosts - Linux/Mac路径:/etc/hosts 加一句:

你的服务器IP haha.com www.haha.com
保存后,你电脑访问 http://haha.com 就会直奔服务器,这波是模拟DNS生效,省钱省力还不堵车!

第五步:测试Nginx语法,重启服务
敲命令,先确认配置文件没毛病:

sudo nginx -t
如果输出“syntax is ok” + “test is successful”,恭喜,配置很nice。 然后重载Nginx:
sudo systemctl reload nginx
或者旧服务器用:
sudo service nginx reload
这一步堪比给Nginx打鸡血,喝完立马精神抖擞!

第六步:验证PHP处理
创建一个info.php,内容丢进 /var/www/haha.com/public_html

<?php
phpinfo();
?>
访问 http://haha.com/info.php,看到PHP信息页,说明PHP和Nginx联手得手,黑科技开好车!

第七步:搞定数据库,别忘记MySQL
多站必然多数据,给每个站点创建独立数据库和用户避免你自己被自己跑路坑。步骤来啦:

进入MySQL:

mysql -uroot -p
接着:
sudo chown -R www-data:www-data /var/www/haha.com/public_html
sudo chmod -R 755 /var/www/haha.com0
老规矩,密码千万别写傻了,密码强度要带感,不然黑客小手抖帮你“撬锁”。

广告小彩蛋来袭!玩游戏想赚零花钱,不妨来 七评赏金榜 场场有奖励,挂机也快乐!

第八步:啥?SSL?咱也安排上
未来的互联网全靠HTTPS护航,免费整个Let's Encrypt证书,联动Nginx,刷安全感:

sudo chown -R www-data:www-data /var/www/haha.com/public_html
sudo chmod -R 755 /var/www/haha.com1
Certbot自动配置一条龙,证书安装秒变专家,多爽!

第九步:多虚拟主机复用这套套路
多个站点添加流程如法炮制,创建目录,写配置,软链接激活,测试PHP,配置数据库,SSL证书免死金牌。别忘了调整 localhost hosts 文件,方便本地测验。

额外小技巧来喽:

  • try_files别轻易改写,避免404噩梦重复上演
  • 虚拟主机名要准确,DNS没生效容易找自己麻烦
  • PHP版本对口,一改重启Nginx别忘记哦
  • 用脚本自动生成配置,批量管理妥妥的

说了这么多,是不是脑袋短路了?别急,互动时间到——你们是怎么管理多个站点的?用LNMP还是换了别的组合?或者你是哪路大神,求带飞!

咦,突然想起个冷笑话:为什么程序员最爱睡眠?因为他们喜欢“休眠模式”,哈哈哈!