117.info
人生若只如初见

Debian系统中LNMP配置技巧有哪些

在Debian系统中配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境是一个常见的任务,适用于部署各种Web应用程序。以下是一些配置技巧和步骤,帮助你高效地完成配置。

1. 安装Nginx

首先,更新系统包并安装Nginx:

sudo apt update
sudo apt install nginx

安装完成后,启动Nginx并设置开机自启动:

sudo systemctl start nginx
sudo systemctl enable nginx

2. 安装MySQL/MariaDB

使用以下命令安装MySQL:

sudo apt install mysql-server

在安装过程中,系统会提示你设置MySQL的root密码。安装完成后,运行安全安装脚本来设置额外的安全选项:

sudo mysql_secure_installation

3. 安装PHP及其扩展

安装PHP及其常用扩展:

sudo apt install php php-fpm php-mysql php-gd php-curl

4. 配置Nginx以处理PHP请求

编辑Nginx的默认配置文件:

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

在配置文件中添加以下内容:

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    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/php8.2-fpm.sock;
    }

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

保存并退出编辑器,然后重启Nginx:

sudo systemctl restart nginx

5. 配置PHP-FPM

编辑PHP-FPM的配置文件:

sudo vim /etc/php/8.2/fpm/pool.d/www.conf

根据你的需求调整以下参数:

pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500

保存并退出编辑器,然后重启PHP-FPM:

sudo systemctl restart php8.2-fpm

6. 配置防火墙

确保防火墙允许HTTP和HTTPS流量:

sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
sudo ufw enable

7. 测试配置

创建一个PHP测试文件以验证配置是否成功:

sudo nano /var/www/html/info.php

添加以下内容:


保存并退出编辑器。然后在浏览器中访问 http://your_server_ip/info.php,如果看到PHP信息页面,说明配置成功。

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

如果你需要从远程机器访问MySQL,编辑MySQL配置文件:

sudo vim /etc/mysql/my.cnf

找到并注释掉以下行:

bind-address = 127.0.0.1

或者将其更改为:

bind-address = 0.0.0.0

重启MySQL服务:

sudo systemctl restart mysql

创建一个远程访问用户并授权:

sudo mysql -u root -p

在MySQL命令行中执行:

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

通过以上步骤,你就可以在Debian系统中成功配置LNMP环境。根据具体需求,你可能还需要进行更多的自定义配置,如设置虚拟主机、配置SSL证书等。希望这些技巧能帮助你顺利完成配置。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fef3aAzsNAQVVBVU.html

推荐文章

  • Docker镜像如何在Debian中管理

    在Debian中管理Docker镜像主要包括安装Docker、拉取镜像、创建和运行容器、以及容器的管理和清理。以下是详细的步骤:
    安装Docker
    首先,需要在Debian...

  • Debian怎样实现磁盘空间的自动回收

    在Debian系统中,实现磁盘空间的自动回收可以通过多种方法来完成。以下是一些常用的方法:
    1. 使用fstrim命令
    fstrim命令用于发送TRIM命令给SSD驱动器...

  • Jenkins在Debian上如何配置邮件通知

    在Jenkins中配置邮件通知可以通过两种方式实现:使用Jenkins自带的邮件通知功能或安装Email Extension Plugin插件。以下是详细的步骤:
    使用Jenkins自带的邮...

  • 如何用Debian进行数据提取

    在Debian系统中进行数据提取,您可以使用多种命令行工具和软件包管理功能。以下是一些常用的方法和步骤:
    使用 dpkg 命令提取文件
    dpkg 是Debian系统用...

  • ubuntu telnet如何优化性能

    Telnet是一种远程登录协议,但由于其以明文形式传输数据,存在一定的安全风险,因此不建议在公共网络环境中使用。在Ubuntu系统中,如果你仍然需要使用Telnet,以...

  • Debian readdir与Windows readdir有何区别

    readdir 是一个在多种编程语言和操作系统中都存在的函数,用于读取目录中的文件和子目录。Debian 和 Windows 都是使用 readdir 函数来读取目录内容的,但它们之间...

  • ubuntu怎样触发主题更改

    在Ubuntu系统中,更改主题是一个相对简单的过程,可以通过几种不同的方法来实现。以下是一些常见的方法来触发和更改Ubuntu的主题:
    通过系统设置更改主题 打...

  • Linux反汇编指令怎么选择

    在Linux环境下进行反汇编,你可以使用多种工具和指令。以下是一些常用的方法和工具:
    使用objdump
    objdump是GNU Binutils套件的一部分,它提供了强大的...