在Debian上部署LNMP(Linux, Nginx, MySQL, PHP)并实现多站点配置,可以按照以下步骤进行:
1. 安装必要的软件包
首先,更新系统包列表并安装Nginx、MySQL和PHP。
sudo apt update sudo apt install nginx mysql-server php-fpm php-mysql
2. 配置MySQL
启动MySQL服务并进行基本配置。
sudo systemctl start mysql sudo mysql_secure_installation
按照提示设置MySQL的安全选项,如设置root密码、删除匿名用户、禁止远程root登录等。
3. 配置Nginx
为每个站点创建一个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配置
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx服务:
sudo systemctl reload nginx
4. 配置PHP-FPM
确保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
5. 创建网站目录
为每个站点创建相应的目录并设置权限:
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
6. 配置DNS
确保你的域名(如 site1.com
和 site2.com
)指向你的服务器IP地址。你可以在你的DNS提供商处进行配置。
7. 测试站点
打开浏览器,访问 http://site1.com
和 http://site2.com
,确保它们都能正常显示。
通过以上步骤,你就可以在Debian上成功部署多个站点,并使用Nginx、MySQL和PHP来提供服务。