在Debian系统下配置LNMP的教程


Posted in PHP onJuly 09, 2015

LNMP环境的配置是需要让我们的主机支持Nginx、MySQL、PHP、phpMyAdmin,这样配置好之后就可以直接使用此环境,并在上面运行网站了,下面我来配置方法。

我们先来看官方说明

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序

1,安装MySQL
执行命令:

apt-get install -y mysql-server mysql-client

即可安装MySQL,安装过程中会询问 root密码 ,键入你需要的密码之后回车即可。

安装完成后,执行如下命令进行一步安全设置:

mysql_secure_installation

按照提示进行,过程中会询问是否更改 root密码,是否移除匿名用户,是否禁止root远程登录等。
2,安装PHP
执行命令:

apt-get install php5-fpm php5-gd php5-mysql php5-memcache php5-curl

上面的命令安装了php5-memcache的扩展,于是继续安装 Memcached 。

apt-get install memcached

安装完毕之后,使用 php5-fpm -v 查看一下PHP的版本:

root@ztbox:~# php5-fpm -v

PHP 5.4.16-1~dotdeb.1 (fpm-fcgi) (built: Jun  8 2013 22:20:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

3,安装Nginx

这里我直接安装了Nginx的全部扩展功能(nginx-full),以应对以后可能出现的功能性增强。

apt-get install -y nginx-full

然后启动Nginx:

service nginx start

访问结果如上图,接下来配置Nginx。

vim /etc/nginx/sites-available/default

……
    location ~ .php$ {
        fastcgi_split_path_info ^(.+.php)(/.+)$;
    #    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #    # With php5-cgi alone:
    #   fastcgi_pass 127.0.0.1:9000;
    #    # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
……

修改保存之后重启Nginx:

service nginx restart

接下来我们新建一个phpinfo,查看php的详细信息:

vim /usr/share/nginx/html/phpinfo.php

<?php phpinfo(); ?>

保存之后访问 http://ip/phpinfo.php , 如果出现 phpinfo 页面,则大功告成。

如何新建站点
和军哥的一键包不同,此方法所安装的 LNMP 需要手动添加站点配置文件。

cd /etc/nginx/conf.d

 进入配置文件目录,新建一个站点配置文件,比如

vi dearroy.com.conf


server {
  listen 80;

 #ipv6
  #listen [::]:80 default_server;

  root /usr/share/nginx/html/dearroy.com;

 #默认首页文件名
  index index.php index.html index.htm;

 #绑定域名
  server_name localhost;

 #伪静态规则
 include wordpress.conf;

  location / {
    try_files $uri $uri/ /index.html;    
  }
 #定义错误页面
  #error_page 404 /404.html; 

  location ~ .php$ {
    fastcgi_split_path_info ^(.+.php)(/.+)$;
    fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi_params;
   }
   #PHP
}

保存之后重启Nginx,添加及绑定网站即完成。

最后,附两个最常用的程序Nginx伪静态:

WordPress:
 

location / {

if (-f $request_filename/index.html){

                rewrite (.*) $1/index.html break;

        }

if (-f $request_filename/index.php){

                rewrite (.*) $1/index.php;

        }

if (!-f $request_filename){

                rewrite (.*) /index.php;

        }

}

Discuz X:

rewrite ^([^.]*)/topic-(.+).html$ $1/portal.php?mod=topic&topic=$2 last;

rewrite ^([^.]*)/article-([0-9]+)-([0-9]+).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;

rewrite ^([^.]*)/forum-(w+)-([0-9]+).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;

rewrite ^([^.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;

rewrite ^([^.]*)/group-([0-9]+)-([0-9]+).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;

rewrite ^([^.]*)/space-(username|uid)-(.+).html$ $1/home.php?mod=space&$2=$3 last;

rewrite ^([^.]*)/([a-z]+)-(.+).html$ $1/$2.php?rewrite=$3 last;

if (!-e $request_filename) {

        return 404;

PHP 相关文章推荐
简单的页面缓冲技术
Oct 09 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
php session安全问题分析
Jun 24 PHP
解析yii数据库的增删查改
Jun 20 PHP
PHP中数组的分组排序实例
Jun 01 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
php实现数据库的增删改查
Feb 26 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
PHP实现一个轻量级容器的方法
Jan 28 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 #PHP
php将html转成wml的WAP标记语言实例
Jul 08 #PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 #PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 #PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 #PHP
PHP实现多文件上传的方法
Jul 08 #PHP
PHP实现图片自动清理的方法
Jul 08 #PHP
You might like
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php去除HTML标签实例
2013/11/06 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
js常用代码段整理
2011/11/30 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
JavaScript返回当前会话cookie全部键值对照的方法
2015/04/03 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python类方法__init__和__del__构造、析构过程分析
2015/03/06 Python
Python多线程结合队列下载百度音乐的方法
2015/07/27 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
有关Python的22个编程技巧
2018/08/29 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
详解mac python+selenium+Chrome 简单案例
2019/11/08 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
什么是继承
2013/12/07 面试题
杠杆的科学教学反思
2014/01/10 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
工作年限证明范本
2015/06/15 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL