117.info
人生若只如初见

LNMP在Debian上的最佳实践有哪些

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

安装Nginx

  • 更新系统包列表:首先,确保你的系统包列表是最新的:
    sudo apt update 
  • 安装Nginx:使用以下命令来安装Nginx:
    sudo apt install nginx 
  • 启动并启用Nginx服务
    sudo systemctl start nginx sudo systemctl enable nginx 
  • 验证Nginx安装:你可以通过访问服务器的IP地址或域名来验证Nginx是否安装成功。

安装MySQL/MariaDB

  • 安装MySQL或MariaDB:这里以MariaDB为例:
    sudo apt install mariadb-server mariadb-client 
  • 启动并启用MariaDB服务
    sudo systemctl start mariadb sudo systemctl enable mariadb 
  • 运行安全脚本:以设置root密码和其他安全选项:
    sudo mysql_secure_installation 

安装PHP

  • 安装PHP及其常用模块
    sudo apt install php-fpm php-mysql 
  • 配置PHP-FPM以使用Nginx
    • 编辑PHP-FPM配置文件:
      sudo nano /etc/php/7.4/fpm/pool.d/www.conf 
    • 找到listen行,修改为:
      listen /run/php/php7.4-fpm.sock 
    • 保存并退出编辑器,然后重启PHP-FPM服务:
      sudo systemctl restart php7.4-fpm 

配置Nginx以处理PHP请求

  • 编辑Nginx默认站点配置文件
    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 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; } location ~ /\.ht { deny all; } } 
  • 测试Nginx配置并重启服务
    sudo nginx -t sudo systemctl restart nginx 

创建一个简单的PHP文件进行测试

  • 创建一个简单的PHP文件
    sudo nano /var/www/html/index.php 
  • 添加以下内容
     
  • 保存并退出编辑器,然后在浏览器中访问你的服务器IP地址或域名,你应该能看到PHP信息页面。

优化LNMP性能

  • Nginx优化
    worker_processes auto; worker_cpu_affinity auto; worker_rlimit_nofile 65535; http { sendfile on; sendfile_max_chunk 512k; 关闭压缩; fastcgi_read_timeout 300000; tcp_nodelay on; keepalive_timeout 65; keepalive_requests 100000; server_tokens off; } 
  • 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.validate_timestamps=1; opcache.fast_shutdown=1; 
  • Linux优化
    ulimit -n 65535 sysctl -w net.core.somaxconn=65535 sysctl -w net.ipv4.ip_local_port_range="1024 65535" sysctl -w net.ipv4.tcp_fin_timeout="30" sysctl -w net.ipv4.tcp_slow_start_after_idle="0" sysctl -w net.ipv4.tcp_fastopen=3 sysctl -w net.ipv4.tcp_syncookies=1 sysctl -w net.core.netdev_max_backlog=65535 sysctl -w net.netfilter.nf_conntrack_max=2097152 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_fin_wait=60 sysctl -w net.netfilter.nf_conntrack_tcp_timeout_time_wait=60 

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

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

推荐文章

  • Debian上Hadoop数据备份策略有哪些

    在Debian系统上,Hadoop数据备份策略主要包括以下几个方面:
    NameNode元数据备份 进入安全模式:进入Hadoop的安全模式,将最新的fsimage文件保存到磁盘,并...

  • 如何备份Debian上的Kafka数据

    在Debian上备份Kafka数据是一个重要的任务,以确保在发生数据丢失或系统故障时能够恢复数据。以下是备份Kafka数据的步骤:
    1. 停止Kafka服务
    在进行备...

  • Debian Golang日志轮转如何实现

    在Debian系统上,使用Golang编写的应用程序可以通过配置日志轮转来实现日志文件的管理。以下是实现日志轮转的几种方法:
    方法一:使用 logrotate 工具 安装...

  • Node.js在Debian上如何实现并发控制

    在Debian上使用Node.js实现并发控制,可以通过以下几种方法: 使用异步编程模式:Node.js的核心优势之一是异步I/O。通过使用回调函数、Promises或者async/await语...

  • FetchDebian有哪些常用命令

    根据搜索结果,暂时没有找到FetchDebian的相关信息,但是我可以为您提供一些常用的Linux命令:
    文件和目录操作 ls:列出目录内容。常用选项:-l:以长格式显...

  • Debian与vsftpd的文件传输速度对比

    在比较Debian系统与vsftpd的文件传输速度时,需要考虑多个因素,包括网络环境、服务器配置、客户端设置以及所使用的文件传输协议等。由于直接对比两种系统的文件...

  • Ubuntu Informix如何监控系统资源

    在Ubuntu上监控Informix数据库的运行状态,可以通过以下几种方法:
    使用Informix自带的命令行工具 onstat命令:用于显示数据库的各种运行状态信息,如CPU使...

  • Debian僵尸进程如何影响内存

    在Debian系统中,僵尸进程(Zombie Process)是指已经结束运行但尚未被其父进程回收资源的进程。这些进程不再执行任何操作,但仍然占用一个进程表项,并且其进程...