在Ubuntu上配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)虚拟主机涉及几个步骤。以下是一个基本的指南:
首先,确保你的系统是最新的:
sudo apt update
sudo apt upgrade -y
安装Nginx服务器:
sudo apt install nginx -y
安装完成后,启动Nginx并设置开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
验证Nginx是否安装成功,可以在浏览器中访问服务器的IP地址,如果看到Nginx的默认欢迎页面,则表示安装成功。
安装MySQL数据库服务器:
sudo apt install mysql-server -y
在安装过程中,系统会提示你设置MySQL的root用户密码,设置好密码后,启动MySQL服务:
sudo systemctl start mysql
sudo systemctl enable mysql
为了提高MySQL的安全性,建议运行安全脚本来设置root密码和其他安全选项:
sudo mysql_secure_installation
安装PHP及其相关扩展:
sudo apt install php-fpm php-mysql -y
根据你的PHP版本,可能需要调整命令中的PHP版本号。例如,如果你使用的是Ubuntu 20.04,可能需要使用 php7.4-fpm 而不是 php7.2-fpm。
启动PHP-FPM服务并设置开机自启动:
sudo systemctl start php7.4-fpm # 根据你的PHP版本调整命令
sudo systemctl enable php7.4-fpm
编辑Nginx的默认站点配置文件:
sudo nano /etc/nginx/sites-available/default
在 server 块中添加以下内容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整路径
}
保存并关闭文件,然后重新加载Nginx配置以应用更改:
sudo systemctl reload nginx
创建一个新的Nginx服务器块配置文件:
sudo nano /etc/nginx/sites-available/your_domain.com
添加以下内容,根据你的需求进行修改:
server {
listen 80;
server_name your_domain.com www.your_domain.com;
root /var/www/your_domain.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 $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /\.ht {
deny all;
}
}
保存并退出编辑器。
创建一个符号链接以启用新的服务器块配置:
sudo ln -s /etc/nginx/sites-available/your_domain.com /etc/nginx/sites-enabled/
测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx以应用更改:
sudo systemctl reload nginx
创建你的网站根目录并设置正确的权限:
sudo mkdir -p /var/www/your_domain.com
sudo chown -R www-data:www-data /var/www/your_domain.com
确保防火墙允许HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
打开浏览器并访问你的域名,你应该能看到你的网站。
为了安全起见,建议为你的网站配置SSL证书。你可以使用Let’s Encrypt免费获取SSL证书。
安装Certbot和Nginx插件:
sudo apt install certbot python3-certbot-nginx
运行Certbot以获取并安装SSL证书:
sudo certbot --nginx -d your_domain.com -d www.your_domain.com
按照提示完成配置。
通过以上步骤,你应该能够在Ubuntu上成功配置一个LNMP虚拟主机。