LNMP的配置与优化

一、LNMP的下载

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora、Debian/Ubuntu/Raspbian/Deepin VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件Redis、Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。

官方网站为 https://www.lnmp.org/

最新稳定版本: LNMP 1.3

完整版:http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz (478MB)

 

二、LNMP的安装

安装时,MySQL版本选择5.5.48(5.4以上支持utf8mb4),PHP版本选择5.4

也可以根据实际情况选择其他版本。

 

三、常用配置

1. 安装memcache

命令如下

[root@www.fangbei.org lnmp1.3-full]# ./addons.sh install memcached
+-----------------------------------------------------------------------+
|            Addons script for LNMP V1.2, Written by Licess             |
+-----------------------------------------------------------------------+
|    A tool to Install cache,optimizer,accelerator...addons for LNMP    |
+-----------------------------------------------------------------------+
|          For more information please visit http://www.lnmp.org        |
+-----------------------------------------------------------------------+
Which memcached php extension do you choose:
Install php-memcache,(Discuz x) please enter: 1
Install php-memcached, please enter: 2
Enter 1 or 2 (Default 1):
You choose php-memcache
====== Installing memcached ======

Press any key to install...or Press Ctrl+c to cancel

 

2. 启用PATH_INFO支持

该功能用于ThinkPHP开发时,URL_MODEL为2时的支持。

网站配置目录 ./usr/local/nginx/conf/vhost/www.fangbei.org.conf

打开并添加如下红包部分

server
    {
        listen 80;
        #listen [::]:80;
        server_name www.fangbei.org;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.fangbei.org;

        include other.conf;
        #error_page   404   /404.html;
        include enable-php.conf;

        location / {
            if (!-e $request_filename){
                rewrite ^/(.*)$ /index.php?s=/$1 last;
            }
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log off;
    }

 

3. 禁用mysql日志

在MySQL数据库中,mysql-bin.000001、mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。

比如如下

[root@www.fangbei.org /]# cd /usr/local/mysql/var/
[root@www.fangbei.org var]# ll
total 29964
drwx------ 2 mysql mysql     4096 Feb 21 17:42 100893722
-rw-r----- 1 mysql root      8477 Feb 21 18:41 www.fangbei.org.err
-rw-rw---- 1 mysql mysql        5 Feb 21 18:41 www.fangbei.org.pid
-rw-rw---- 1 mysql mysql 18874368 Feb 21 18:41 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 21 18:41 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 21 17:08 ib_logfile1
drwx------ 2 mysql mysql     4096 Feb 21 17:08 mysql
-rw-rw---- 1 mysql mysql    27735 Feb 21 17:08 mysql-bin.000001
-rw-rw---- 1 mysql mysql  1113246 Feb 21 17:08 mysql-bin.000002
-rw-rw---- 1 mysql mysql      264 Feb 21 17:08 mysql-bin.000003
-rw-rw---- 1 mysql mysql     1119 Feb 21 17:08 mysql-bin.000004
-rw-rw---- 1 mysql mysql      126 Feb 21 17:08 mysql-bin.000005
-rw-rw---- 1 mysql mysql   127076 Feb 21 18:41 mysql-bin.000006
-rw-rw---- 1 mysql mysql      107 Feb 21 18:41 mysql-bin.000007
-rw-rw---- 1 mysql mysql      133 Feb 21 18:41 mysql-bin.index
drwx------ 2 mysql mysql     4096 Feb 21 17:08 performance_schema
[root@www.fangbei.org var]# 

以及

[root@www.fangbei.org var]# cd /root
[root@www.fangbei.org ~]# ll
total 491064
drwxr-xr-x 4 mysql mysql      4096 Feb 21 16:44 databases_backup_20170221164407
drwxr-xr-x 7 root  root       4096 May 27  2016 lnmp1.3-full
-rw-r--r-- 1 root  root  500932095 Dec  4 12:32 lnmp1.3-full.tar.gz
-rw-r--r-- 1 root  root    1898084 Feb 21 17:18 lnmp-install.log
[root@www.fangbei.org ~]# cd databases_backup_20170221164407/
[root@www.fangbei.org databases_backup_20170221164407]# ll
total 21284
drwx------ 2 mysql mysql     4096 Feb 21 16:38 100893722
-rw-r----- 1 mysql root      4654 Feb 21 16:44 www.fangbei.org.err
-rw-rw---- 1 mysql mysql 10485760 Feb 21 16:44 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 21 16:44 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 21 16:02 ib_logfile1
drwx------ 2 mysql mysql     4096 Feb 21 16:02 mysql
-rw-rw---- 1 mysql mysql    19758 Feb 21 16:02 mysql-bin.000001
-rw-rw---- 1 mysql mysql   765307 Feb 21 16:02 mysql-bin.000002
-rw-rw---- 1 mysql mysql      263 Feb 21 16:02 mysql-bin.000003
-rw-rw---- 1 mysql mysql      731 Feb 21 16:02 mysql-bin.000004
-rw-rw---- 1 mysql mysql      125 Feb 21 16:02 mysql-bin.000005
-rw-rw---- 1 mysql mysql      497 Feb 21 16:44 mysql-bin.000006
-rw-rw---- 1 mysql mysql      114 Feb 21 16:11 mysql-bin.index
[root@www.fangbei.org databases_backup_20170221164407]# 

这些文件的生长速度是很快的,特别占用服务器资源。当服务器资源不够充足的情况下,我们可以选择定期删除这些日志文件,或者修改配置文件,不让日志生成。

编辑my.cnf 文件,命令:vi /etc/my.cnf
注释掉 log-bin=mysql-bin 这个属性

#skip-networking
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535

# log-bin=mysql-bin
binlog_format=mixed
server-id    = 1
expire_logs_days = 10

然后删除上述日志文件

 

4. phpMyAdmin超时问题

文件 home/wwwroot/default/phpmyadmin/libraries/config.default.php

设置 Cookies 有效期为12小时

$cfg['LoginCookieValidity'] = 43200;   //12个小时 

设定PHP session有效期的参数值 session.gc_maxlifetime 为大于12小时的秒数。下述配置多了10秒。

文件在./usr/local/php/etc/php.ini

session.gc_maxlifetime = 43210

 

5. phpMyAdmin输入服务器地址

修改phpMyAdmin目录下的 /libraries/config.default.php中  AllowArbitraryServer 值为 true

$cfg[‘AllowArbitraryServer’] = true;

 

9. 重启

最后重启  lnmp restart,让上述所有配置生效

 

10. 删除.user.ini文件

LNMP 1.2开始PHP防跨目录限制使用.user.ini,该文件在网站根目录下,可以修改open_basedir的值来设置限制目录的访问。
.user.ini文件无法直接修改,而且是隐藏文件可能在winscp下可能无法看到。

当网站被删除的时候,.user.ini可以用以下方法删除

[root@www.fangbei.org]# chattr -i ".user.ini"
[root@www.fangbei.org]# chmod 777 ".user.ini"
[root@www.fangbei.org]# rm ".user.ini"

 

时间: 2025-01-21 10:05:32

LNMP的配置与优化的相关文章

lnmp环境安装配置后优化方法小结

Lnmp配置优化 一. 基于xen架构的可以增加swap分区大小我的vps是openVZ的,swap分区是不能随意更改的.PS.主机商已经提供了128M的swap了.满足了!  代码如下 复制代码  cd /var/ dd if=/dev/zero of=swapfile bs=1024 count=262144 /sbin/mkswap swapfile /sbin/swapon swapfile 然后让自己做的swap分区在系统启动时自动加载:  代码如下 复制代码 vi /etc/fsta

高性能HTTP加速器Varnish搭建、配置及优化

 经过一天的努力,终于将Varnish缓存服务器部署到线上服务器了.趁着热乎劲儿,赶紧给大家分享一下.Varnish是一个轻量级的Cache和反向代理软件.先进的设计理念和成熟的设计框架是Varnish的主要特点.下面是Varnish的一些特点: 基于内存进行缓存,重启后数据将消失: 利用虚拟内存方式,I/O性能好: 支持设置0~60秒精确缓存时间: VCL 配置管理比较灵活: 32位机器上缓存文件大小为最大2GB: 具有强大的管理功能: 状态机设计巧妙,结构清晰: 利用二叉堆管理缓存文件,可达

nginx反向代理配置及优化

前言: 由于服务器apache抗不住目前的并发.加上前端squid配置后,问题依然无法解决.而页面程序大部分是动态.无法使用fastcgi来处理.因此想使用nginx做为反向代理apache.整个配置安装过程很简单.在考虑高并发的情况下,在安装前就做了些优化.目前配置能抗住3000以上并发.好像不是特别大哦?呵~~ 但足以~~ 只是还有少量499问题. 第1部分:安装 1 建立用户及组 /usr/sbin/groupadd www /usr/sbin/useradd -g www www 2 安

实战Nginx与PHP(FastCGI)的安装、配置与优化

 一.什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP. FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可

项目重构之数据源配置与优化:log4j 配置数据库连接池Druid,并实现日志存储到数据库

一. 前言   泥瓦匠又和大家见面了,最近两天我在Code Review , 顺便代码小小的Refactoring(重构)下.先了解这个项目吧,这次解决的是数据源配置优化.因为这web项目中配置数据源的地方很多.例如 JDBC要配置数据源,Mybatis要配置数据源,Quartz定时任务要配置数据源,还有Log4j存记录到数据库也要配置-   如题目,兴许大家的疑惑看了前面的说明会明白.这次给大家带来的 数据源配置与优化:log4j 配置数据库连接池Druid.   提纲: 二.准备知识 三.正

《高性能Linux服务器构建实战》——1.7节实战Nginx与PHP(FastCGI)的安装、配置与优化

1.7 实战Nginx与PHP(FastCGI)的安装.配置与优化 1.7.1 什么是 FastCGI FastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等.同时,FastCGI也被许多脚本语言支持,其中就有PHP. FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执

大型网站的 HTTPS 实践(三):基于协议和配置的优化

大型网站的 HTTPS 实践(三):基于协议和配置的优化 1 前言 上文讲到 HTTPS 对用户访问速度的影响. 本文就为大家介绍 HTTPS 在访问速度,计算性能,安全等方面基于协议和配置的优化. 2 HTTPS 访问速度优化 2.1 Tcp fast open HTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必须通过三次握手建立 TCP 连接,但一个 RTT 的时间内只传输一个 syn 包是不是太浪费?能不能在 syn 包发出的同时捎上应用层的数据?其实是可以的,这也是 tc

Linux VPS下MySQL的安装配置和优化

MySQL是Linux的重要组件,所有的Linux几乎都自带MySQL.RasHost VPS为了给所有客户提供一个干净的VPS环境,没有预装MySQL,毕竟不是所有的客户都用MySQL. 本文给出在Linux VPS下怎样手工安装配置和优化mysql 安装 在Debian/Ubuntu下: apt-get install mysql-server-5.0 在CentOS下: yum install -y mysql-server 配置 主要是中文环境配置,配置MySQL全面缺省支持UTF-8.

高性能HTTP加速器Varnish-3.0.3搭建、配置及优化步骤_Linux

经过一天的努力,终于将Varnish缓存服务器部署到线上服务器了.趁着热乎劲儿,赶紧给大家分享一下.Varnish是一个轻量级的Cache和反向代理软件.先进的设计理念和成熟的设计框架是Varnish的主要特点.下面是Varnish的一些特点: 基于内存进行缓存,重启后数据将消失: 利用虚拟内存方式,I/O性能好: 支持设置0~60秒精确缓存时间: VCL 配置管理比较灵活: 32位机器上缓存文件大小为最大2GB: 具有强大的管理功能: 状态机设计巧妙,结构清晰: 利用二叉堆管理缓存文件,可达到