利用Linux LNMP(Linux, Nginx, MySQL, PHP)搭建网站是一个相对简单的过程。以下是一个基本的步骤指南,适用于大多数Linux发行版,如Ubuntu或CentOS。
准备工作
- 选择操作系统:推荐使用Ubuntu或CentOS。
- 远程连接工具:使用XShell、SecureCRT或其他SSH工具连接到你的Linux服务器。
- 系统更新:确保系统是最新的。
安装Nginx
- 更新系统:
sudo apt update && sudo apt upgrade -y # 对于Ubuntu/Debian sudo yum update -y # 对于CentOS - 安装Nginx:
sudo apt install nginx -y # 对于Ubuntu/Debian sudo yum install nginx -y # 对于CentOS - 验证安装:在浏览器中访问服务器的IP地址,应该能看到Nginx的默认欢迎页面。
安装MySQL/MariaDB
- 安装MySQL/MariaDB:
sudo apt install mysql-server -y # 对于Ubuntu/Debian sudo yum install mariadb-server -y # 对于CentOS - 启动并设置开机自启:
sudo systemctl start mysql # 对于Ubuntu/Debian sudo systemctl start mariadb # 对于CentOS sudo systemctl enable mysql # 对于Ubuntu/Debian sudo systemctl enable mariadb # 对于CentOS - 安全配置:运行安全脚本来提高MySQL的安全性。
sudo mysql_secure_installation
安装PHP
- 安装PHP及其扩展:
sudo apt install php-fpm php-mysql -y # 对于Ubuntu/Debian sudo yum install php php-fpm php-mysql -y # 对于CentOS - 配置PHP-FPM:
sudo systemctl restart php7.4-fpm # 根据你的PHP版本调整命令
配置Nginx支持PHP
- 编辑Nginx配置文件:通常位于
/etc/nginx/sites-available/default或/etc/nginx/conf.d/default.conf。sudo nano /etc/nginx/sites-available/default - 修改配置:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整路径 } location ~ /\.ht { deny all; } } - 测试Nginx配置:
sudo nginx -t - 重启Nginx:
sudo systemctl restart nginx
验证LNMP环境
- 创建PHP测试文件:
sudo nano /var/www/html/info.php添加以下内容:
<?php phpinfo(); ?> - 访问测试文件:在浏览器中访问
http://your_server_ip/info.php,如果看到PHP信息页面,则表示LNMP环境搭建成功。
后续步骤
- 防火墙设置:使用UFW(Uncomplicated Firewall)设置防火墙规则。
sudo ufw allow 'Nginx Full' sudo ufw enable - 定期更新:定期更新系统和软件包。
sudo apt update && sudo apt upgrade -y sudo yum update -y
常见问题及解决方法
- Nginx无法启动:检查端口占用情况和Nginx错误日志。
- PHP页面无法显示:确保PHP-FPM正在运行,并检查Nginx配置文件中的PHP处理部分是否正确。
- MySQL无法启动:检查数据库状态,并尝试修复或重建数据文件。
通过以上步骤,你应该能够在Linux系统下成功启动并配置LNMP环境。如果遇到具体问题,建议查看相关服务的日志文件以获取更多信息。