117.info
人生若只如初见

LNMP在Debian上的最佳实践是什么

LNMP是指Linux、Nginx、MySQL和PHP组成的网站架构,常用于中小型网站服务。在Debian上配置LNMP环境时,以下是一些最佳实践:

安装Nginx

首先,安装Nginx作为Web服务器。在终端中执行以下命令来安装Nginx:

sudo apt update
sudo apt install nginx

安装完成后,可以使用以下命令来启动Nginx服务:

sudo systemctl start nginx

你可以使用以下命令来检查Nginx是否正在运行:

sudo systemctl status nginx

安装MySQL

接下来,安装MySQL数据库。在终端中执行以下命令来安装MySQL:

sudo apt install mysql-server

安装过程中,系统会提示你设置MySQL的root密码。设置完毕后,你可以使用以下命令启动MySQL服务:

sudo systemctl start mysql

你可以使用以下命令检查MySQL是否正在运行:

sudo systemctl status mysql

安装PHP

最后,安装PHP作为服务器端脚本语言。在终端中执行以下命令来安装PHP及其常用扩展:

sudo apt install php php-fpm php-mysql

配置Nginx以处理PHP请求

需要配置Nginx来处理PHP请求。注意:在生产环境中,为了安全起见,应该删除或禁用info.php文件。

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

使用vim编辑器打开配置文件:

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

在配置文件中,找到以下部分并进行修改:

server {
    listen 80;
    listen [::]:80;
    root /var/www/html;
    index index.php index.html index.htm;
    server_name localhost;

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

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

完成配置文件后,通过以下命令在sites-enabled目录中创建软连接,启用配置文件:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

通过以下命令测试配置文件的正确性:

sudo nginx -t

如果配置文件测试通过,可以通过以下命令重启nginx服务,加载配置文件使其生效:

sudo systemctl restart nginx

优化LNMP性能

  • Nginx优化

    • worker_processes auto;
    • worker_cpu_affinity auto;
    • worker_rlimit_nofile 65535;
    • http { sendfile on; sendfile_max_chunk 512k; 关闭压缩。也可以在特定的server或location中关闭gzip,gzip off; }
    • fastcgi_read_timeout 300000;
    • tcp_nodelay on;
    • 隐藏版本号 server_tokens off;
    • keepalive_timeout 65;
    • keepalive_requests 100000;
  • PHP优化

    • opcache.enable=1;
    • opcache.interned_strings_buffer=64;
    • opcache.max_accelerated_files=10000;
    • opcache.memory_consumption=256;
    • opcache.save_comments=1;
    • opcache.fast_shutdown=1;
    • opcache.jit=on;
    • opcache.jit_buffer_size = 128;
  • Linux优化

    • ulimit -n 65535
    • sysctl -w net.core.somaxconn=65535
    • net.ipv4.ip_local_port_range = 1024 65535
    • net.ipv4.tcp_fin_timeout = 30
    • net.ipv4.tcp_slow_start_after_idle = 0
    • net.ipv4.tcp_fastopen = 3
    • net.ipv4.tcp_syncookies = 1
    • net.core.netdev_max_backlog = 65535
    • net.nf_conntrack_max=2097152
    • net.netfilter.nf_conntrack_max = 2097152
    • net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60
    • net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60

以上步骤和优化措施可以帮助你在Debian上成功配置和优化LNMP环境。

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

推荐文章

  • Debian MongoDB集群搭建步骤解析

    在Debian系统上搭建MongoDB集群涉及多个步骤,包括安装MongoDB、配置副本集、初始化副本集以及添加其他节点等。以下是详细的搭建步骤:
    准备工作 安装Mongo...

  • 如何在Debian VirtualBox中调整虚拟机大小

    要在Debian VirtualBox中调整虚拟机大小,您可以按照以下步骤操作: 关闭虚拟机:首先,确保您的Debian虚拟机处于关闭状态。 打开虚拟机设置: 在VirtualBox管理...

  • 如何备份Debian JS日志数据

    备份Debian系统中的JS日志数据可以通过多种工具和策略来实现。以下是一些常用的方法和步骤: 使用系统备份工具:
    你可以使用Backupninja这样的系统备份工具...

  • TigerVNC在Debian上的更新频率是多少

    TigerVNC在Debian上的更新频率并没有一个固定的时间表,它依赖于开发团队的维护周期和用户需求。然而,从已知的更新信息中可以看出,TigerVNC的更新是相对频繁的...

  • hdfs配置centos需要注意什么

    在CentOS上配置Hadoop分布式文件系统(HDFS)时,有几个关键点需要注意: 环境准备: 安装JDK:确保安装了适当版本的JDK,因为Hadoop需要Java环境来运行。
    ...

  • Linux文件加密方法:如何保护文件安全

    在Linux系统中,有多种方法可以对文件进行加密,以保护文件内容的机密性和完整性。以下是一些常见的Linux文件加密方法: 使用OpenSSL加密: openssl是一个功能强...

  • 如何用Debian进行字符串替换

    在Debian系统中,你可以使用多种命令行工具来进行字符串替换。以下是一些常用的方法: 使用sed命令:
    sed是一个流编辑器,可以用来对文本文件进行基于正则表...

  • ubuntu syslog如何配置日志记录

    在Ubuntu系统中,syslog是用于记录系统日志的服务。要配置syslog以记录日志,您需要编辑syslog的配置文件。以下是一些基本步骤: 打开终端。 使用文本编辑器打开...