在云服务器上部署LNMP环境(Linux + Nginx + MySQL + PHP),可以按照以下步骤进行操作。这里以Ubuntu 20.04为例。


1. 更新系统

首先,更新系统并安装必要的工具:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y curl wget vim

2. 安装Nginx

安装Nginx作为Web服务器:

sudo apt-get install -y nginx

启动Nginx并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

验证Nginx是否安装成功:

curl http://localhost

如果看到Nginx的欢迎页面,说明安装成功。


3. 安装MySQL

安装MySQL作为数据库服务器:

sudo apt-get install -y mysql-server

启动MySQL并设置开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

运行安全脚本,设置MySQL root密码和其他安全选项:

sudo mysql_secure_installation

登录MySQL验证安装:

sudo mysql -u root -p

4. 安装PHP

安装PHP及其常用扩展:

sudo apt-get install -y php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip

验证PHP是否安装成功:

php -v

5. 配置Nginx支持PHP

编辑Nginx的默认配置文件:

sudo vim /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/php-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

保存并退出,然后测试Nginx配置是否正确:

sudo nginx -t

重启Nginx以应用更改:

sudo systemctl restart nginx

6. 测试PHP

在Web根目录下创建一个PHP测试文件:

sudo vim /var/www/html/index.php

添加以下内容:

<?php
phpinfo();
?>

保存并退出,然后在浏览器中访问:

http://<你的服务器IP>/index.php

如果看到PHP信息页面,说明PHP配置成功。


7. 配置MySQL远程访问(可选)

如果需要远程访问MySQL,可以修改MySQL配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address并将其改为:

bind-address = 0.0.0.0

保存并退出,然后重启MySQL:

sudo systemctl restart mysql

登录MySQL,为远程用户授权:

sudo mysql -u root -p

执行以下SQL语句(将usernamepassword替换为实际的用户名和密码):

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8. 防火墙配置(可选)

如果启用了防火墙(如ufw),需要允许HTTP、HTTPS和MySQL端口:

sudo ufw allow 'Nginx Full'
sudo ufw allow 3306/tcp
sudo ufw reload

9. 完成

至此,LNMP环境已成功部署。您可以将Web应用部署到/var/www/html目录,并通过浏览器访问。


10. 常见问题排查

  • Nginx无法启动:检查配置文件语法是否正确:sudo nginx -t
  • PHP页面无法解析:确保Nginx配置中fastcgi_pass指向正确的PHP-FPM socket路径。
  • MySQL无法连接:检查MySQL是否监听正确端口,并确保防火墙允许访问。

通过以上步骤,您可以在云服务器上成功部署LNMP环境

阿, 信

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线客服