话说,现在做个网站,环境配置得像开外挂一样爽,LNMP(Linux+Nginx+MySQL+PHP)已经成了许多大佬和小白的标配。可是,搭好基本环境还不够,想让网站像个多开游戏账号那样,多个独立的“虚拟主机”来玩转项目,那该咋整呢?别急,今天咱就扒一扒怎么给LNMP添加虚拟主机,让你轻松管理多个站点,不用上蹿下跳,操作满分,套路满满!
好了,下面就跟我一步步来,别眨眼,精彩多得你眼花缭乱:
第一步:准备工作,环境确认
先确保你的LNMP环境已经装好,Nginx能跑、PHP和MySQL正常运转。用命令验一验:nginx -v
,php -v
,mysql -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.com
0
老规矩,密码千万别写傻了,密码强度要带感,不然黑客小手抖帮你“撬锁”。
广告小彩蛋来袭!玩游戏想赚零花钱,不妨来 七评赏金榜 场场有奖励,挂机也快乐!
第八步:啥?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.com
1
Certbot自动配置一条龙,证书安装秒变专家,多爽!
第九步:多虚拟主机复用这套套路
多个站点添加流程如法炮制,创建目录,写配置,软链接激活,测试PHP,配置数据库,SSL证书免死金牌。别忘了调整 localhost hosts 文件,方便本地测验。
额外小技巧来喽:
try_files
别轻易改写,避免404噩梦重复上演说了这么多,是不是脑袋短路了?别急,互动时间到——你们是怎么管理多个站点的?用LNMP还是换了别的组合?或者你是哪路大神,求带飞!
咦,突然想起个冷笑话:为什么程序员最爱睡眠?因为他们喜欢“休眠模式”,哈哈哈!