在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设计模式 DAO(数据访问对象模式)
Jun 26 PHP
php中++i 与 i++ 的区别
Aug 08 PHP
php变量作用域的深入解析
Jun 03 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
php中简单的对称加密算法实现
Jan 05 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
php头像上传预览实例代码
May 02 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 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
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
python列表去重的二种方法
2014/02/14 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python3 socket同步通信简单示例
2017/06/07 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
Python制作动态字符图的实例
2019/01/27 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
python实现中文文本分句的例子
2019/07/15 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
为什么python比较流行
2020/06/19 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
2014年教师节讲话稿5篇
2014/09/10 职场文书
人工作失职检讨书
2015/05/05 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
MySQL 数据类型详情
2021/11/11 MySQL