在Debian上部署LNMP(Linux, Nginx, MySQL, PHP)并实现多站点配置,可以按照以下步骤进行:
首先,更新系统包列表并安装Nginx、MySQL和PHP。
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql
启动MySQL服务并进行基本配置。
sudo systemctl start mysql
sudo mysql_secure_installation
按照提示设置MySQL的安全选项,如设置root密码、删除匿名用户、禁止远程root登录等。
为每个站点创建一个Nginx配置文件。假设我们有两个站点:site1.com
和 site2.com
。
在 /etc/nginx/sites-available/
目录下创建两个配置文件:
sudo nano /etc/nginx/sites-available/site1.com
sudo nano /etc/nginx/sites-available/site2.com
site1.com
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
site2.com
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
创建符号链接以启用这些站点配置:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx服务:
sudo systemctl reload nginx
确保PHP-FPM配置正确。编辑 /etc/php/7.4/fpm/pool.d/www.conf
文件,确保监听地址正确:
listen = /var/run/php/php7.4-fpm.sock
重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
为每个站点创建相应的目录并设置权限:
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
确保你的域名(如 site1.com
和 site2.com
)指向你的服务器IP地址。你可以在你的DNS提供商处进行配置。
打开浏览器,访问 http://site1.com
和 http://site2.com
,确保它们都能正常显示。
通过以上步骤,你就可以在Debian上成功部署多个站点,并使用Nginx、MySQL和PHP来提供服务。