在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)以实现多站点非常常见。以下是一个基本的步骤指南,帮助你在Ubuntu上配置多个站点。
首先,更新你的包列表并安装Nginx、MySQL和PHP。
sudo apt update
sudo apt install nginx mysql-server php-fpm php-mysql
启动并启用MySQL服务:
sudo systemctl start mysql
sudo systemctl enable mysql
运行MySQL安全脚本以提高安全性:
sudo mysql_secure_installation
按照提示设置root密码,并进行其他安全设置。
为每个站点创建一个单独的Nginx配置文件。假设我们要配置两个站点:site1.com
和 site2.com
。
sudo nano /etc/nginx/sites-available/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;
}
}
保存并关闭文件。
创建一个符号链接以启用该站点配置:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
重复上述步骤为 site2.com
创建配置文件:
sudo nano /etc/nginx/sites-available/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/site2.com /etc/nginx/sites-enabled/
测试Nginx配置文件是否有语法错误:
sudo nginx -t
如果没有错误,重新加载Nginx以应用更改:
sudo systemctl reload nginx
编辑PHP-FPM配置文件以允许来自Nginx的连接:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到并修改以下行:
listen = /run/php/php7.4-fpm.sock
改为:
listen = 127.0.0.1:9000
保存并关闭文件,然后重启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
来测试你的站点。
通过以上步骤,你可以在Ubuntu上成功配置多个LNMP站点。根据需要,你可以进一步自定义每个站点的配置。