debian

如何在Debian上部署LNMP应用

小樊
40
2025-02-22 01:44:16
栏目: 智能运维

在Debian上部署LNMP(Linux, Nginx, MySQL/MariaDB, PHP)应用涉及多个步骤。以下是一个基本的指南:

1. 更新系统

首先,确保你的Debian系统是最新的:

sudo apt update
sudo apt upgrade -y

2. 安装Nginx

安装Nginx作为Web服务器:

sudo apt install nginx -y

启动并启用Nginx服务:

sudo systemctl start nginx
sudo systemctl enable nginx

3. 安装MySQL/MariaDB

你可以选择安装MySQL或MariaDB。这里以MariaDB为例:

sudo apt install mariadb-server mariadb-client -y

启动并启用MariaDB服务:

sudo systemctl start mariadb
sudo systemctl enable mariadb

运行安全脚本以提高安全性:

sudo mysql_secure_installation

4. 安装PHP

安装PHP及其常用扩展:

sudo apt install php-fpm php-mysql -y

配置PHP-FPM以使用Nginx: 编辑/etc/php/7.4/fpm/pool.d/www.conf文件,找到以下行并取消注释:

listen = /run/php/php7.4-fpm.sock

重启PHP-FPM服务:

sudo systemctl restart php7.4-fpm

5. 配置Nginx以使用PHP

编辑Nginx的默认站点配置文件:

sudo nano /etc/nginx/sites-available/default

修改以下内容以支持PHP:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

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

保存并退出编辑器,然后测试Nginx配置:

sudo nginx -t

重新加载Nginx以应用更改:

sudo systemctl reload nginx

6. 创建数据库和用户

登录到MySQL/MariaDB:

sudo mysql -u root -p

创建一个新的数据库和用户,并授予权限:

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

7. 部署你的应用

将你的PHP应用上传到/var/www/html目录下,或者使用FTP/SFTP等工具进行上传。

8. 测试应用

打开浏览器,访问你的服务器IP地址或域名,确保应用正常运行。

9. 配置防火墙(可选)

如果你有防火墙(如ufw),确保允许HTTP和HTTPS流量:

sudo ufw allow 'Nginx Full'

通过以上步骤,你应该能够在Debian上成功部署一个基本的LNMP应用。根据具体需求,你可能还需要进行更多的配置和优化。

0
看了该问题的人还看了