在Ubuntu上部署LNMP(Linux, Nginx, MySQL, PHP)环境是一个常见的任务,适用于托管各种Web应用程序。以下是详细的步骤:
首先,确保你的系统是最新的:
sudo apt update
sudo apt upgrade -y
安装Nginx服务器:
sudo apt install nginx -y
安装完成后,可以通过浏览器访问服务器的IP地址来验证Nginx是否安装成功,应该会看到Nginx的默认欢迎页面。
安装MySQL数据库:
sudo apt install mysql-server -y
安装完成后,运行安全脚本来提高MySQL的安全性:
sudo mysql_secure_installation
按照提示设置root密码和其他安全选项。
安装PHP及其必要的扩展:
sudo apt install php-fpm php-mysql -y
这里安装了PHP以及PHP的MySQL扩展和FastCGI进程管理器。
编辑Nginx的默认站点配置文件:
sudo nano /etc/nginx/sites-available/default
找到以下部分:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本修改
}
确保fastcgi_pass
指向正确的PHP-FPM套接字文件。然后测试Nginx配置是否正确:
sudo nginx -t
如果没有错误,重启Nginx:
sudo systemctl restart nginx
创建一个PHP测试文件:
sudo nano /var/www/html/info.php
添加以下内容:
<?php
phpinfo();
?>
保存并退出,然后在浏览器中访问http://your_server_ip/info.php,应该能看到PHP的信息页面。
确保UFW(Uncomplicated Firewall)已启用,并允许HTTP和HTTPS流量:
sudo ufw enable
sudo ufw allow 'Nginx Full'
检查UFW状态以确认规则已应用:
sudo ufw status
注册域名并在域名注册商处配置DNS,将域名指向你的服务器IP地址。编辑Web服务器配置文件,添加ServerName和ServerAlias指令:
sudo nano /etc/nginx/sites-available/default
例如:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name yourdomain.com www.yourdomain.com;
location / {
try_files $uri $uri/ =404;
}
}
重新加载Nginx配置:
sudo systemctl reload nginx
通过以上步骤,你就可以在Ubuntu上成功部署一个LNMP环境,并托管你的网站。如果在安装过程中遇到具体问题,可以根据错误信息进行排查,或者查阅相关的日志文件,如Nginx的错误日志通常位于/var/log/nginx/error.log。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>