如何配置Debian上的LNMP虚拟主机
Debian系统配置LNMP虚拟主机完整步骤
1. 前置准备:更新系统
在开始前,确保系统软件包为最新版本,避免兼容性问题:
sudo apt update &
&
sudo apt upgrade -y
2. 安装Nginx(Web服务器)
安装Nginx并启动服务,设置开机自启:
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
安装完成后,可通过浏览器访问服务器IP,确认Nginx默认页面显示正常。
3. 安装MySQL/MariaDB(数据库)
Debian默认仓库中的MySQL可能被MariaDB替代(兼容MySQL),安装MariaDB:
sudo apt install mariadb-server -y
运行安全脚本,设置root密码、移除匿名用户、禁止root远程登录:
sudo mysql_secure_installation
按照提示操作,提升数据库安全性。
4. 安装PHP及扩展(后端支持)
安装PHP 7.4(或更高版本,根据需求调整)及常用扩展(如MySQL、curl、gd等):
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml -y
启动PHP-FPM并设置开机自启:
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
5. 配置PHP-FPM与Nginx通信
编辑PHP-FPM池配置文件,确保Nginx能通过socket与PHP-FPM通信:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到listen指令,确认设置为unix:/run/php/php7.4-fpm.sock(默认路径,无需修改),保存退出。
重启PHP-FPM使配置生效:
sudo systemctl restart php7.4-fpm
6. 配置Nginx虚拟主机
(1)创建虚拟主机配置文件
在/etc/nginx/sites-available/目录下新建配置文件(以yourdomain.com.conf为例):
sudo nano /etc/nginx/sites-available/yourdomain.com.conf
粘贴以下内容(替换yourdomain.com为实际域名,/var/www/yourdomain.com为网站根目录):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
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;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
说明:
server_name:绑定域名(本地测试可改为127.0.0.1);root:网站根目录(需手动创建);location ~ \.php$:处理PHP请求,通过FastCGI传递给PHP-FPM。
(2)启用虚拟主机
创建符号链接,将配置文件链接到sites-enabled目录:
sudo ln -s /etc/nginx/sites-available/yourdomain.com.conf /etc/nginx/sites-enabled/
7. 创建网站目录与测试文件
(1)创建网站根目录并设置权限
sudo mkdir -p /var/www/yourdomain.com
sudo chown -R www-data:www-data /var/www/yourdomain.com # 设置属主为www-data(Nginx运行用户)
sudo chmod -R 755 /var/www/yourdomain.com
(2)创建PHP测试文件
echo "<
?php phpinfo();
?>
" | sudo tee /var/www/yourdomain.com/index.php
该文件用于验证PHP是否正常运行。
8. 测试Nginx配置并重载
检查配置文件语法是否正确:
sudo nginx -t
若输出syntax is ok,则重载Nginx使配置生效:
sudo systemctl reload nginx
9. 配置防火墙(可选但推荐)
允许HTTP(80)和HTTPS(443)流量通过防火墙:
sudo apt install ufw -y
sudo ufw allow 'Nginx Full'
sudo ufw enable
验证防火墙状态:
sudo ufw status
10. 本地测试(可选)
若在本地测试,编辑/etc/hosts文件,将域名指向服务器IP:
sudo nano /etc/hosts
添加以下内容(替换your_server_ip为服务器实际IP):
your_server_ip yourdomain.com www.yourdomain.com
保存后,在浏览器访问http://yourdomain.com,应看到PHP信息页面。
11. 配置SSL(可选,推荐)
为网站添加SSL证书(使用Let’s Encrypt免费获取):
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot会自动配置Nginx支持HTTPS,并设置证书自动续期。
完成以上步骤后,Debian系统上的LNMP虚拟主机已配置完成,可正常托管网站或Web应用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何配置Debian上的LNMP虚拟主机
本文地址: https://pptw.com/jishu/738279.html
