LNMP环境相关配置Nginx

LNMP环境搭建已经在上一篇文章记录了。本篇主要记录相关的配置,如Nginx、php

Nginx配置:

1. 默认虚拟主机

Nginx的默认虚拟主机的概念和httpd的类似,第一个被nginx加载的虚拟主机就睡默认虚拟主机。不同的是,nginx可以标记默认虚拟主机,如果没有标记则第一个就是默认的;

修改主配置文件nginx.conf,在结束符号 } 上面加入一行配置,如下:

include vhost/*.conf;

}

意思是/usr/local/nginx/conf/vhost/下面的所有以.conf结尾的文件都会加载,这样我们只需把虚拟主机文件放在vhost目录下就行了

创建测试文件:

echo "Nginx默认虚拟主机" > /data/nginx/default.com/index.html

2. 用户认证

新建一个虚拟主机:

cd /usr/local/nginx/conf/vhost

vim test.com.conf

使用httpd的htpasswd命令:

windows下测试的效果:

对目录进行用户认证:

3. 域名重定向

server
{
    listen 80;
    server_name test1.com test2.com;
    index index.htm index.html index.php;
    root /data/nginx/test1.com;
    # 域名重定向
    if ($host != 'test1.com'){
        rewrite ^/(.*)$ http://test1.com/$1 permanent;
    }
}

4. Nginx的访问日志

Nginx日志格式定义在配置文件里:

vim test.com.conf,在server里面添加一行内容即可!

nginx日志切割需要编写脚本实现:

vim /usr/local/sbin/nginx_log_rorate.log.sh
#!/bin/bash
d=`date -d "-1 day" +%Y%m%d`
logdir="/data/logs"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in `ls *.log`
do
    mv $log $log-$d
done
/bin/kill -HUP `cat $nginx_pid`

写完脚本,还需要增加任务计划:

0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rorate.log.sh

5. 配置静态文件不记录日志并添加过期时间

vim test.com.conf

查看日志文件:(没有记录!)

6. Nginx防盗链

vim test.com.conf

测试:

7. 访问控制(主允许192.168.159.131和127.0.0.1 访问等!)

8. Nginx解析php(经常出现502错误!查看fastcgi_passwd是否和php-fpm服务监听一致)

9. Nginx代理

vim /usr/local/nginx/conf/vhost/proxy.conf

或者这样:

10. Nginx配置SSL

SSL工作流程:

浏览器发送一个https的请求给服务器;

服务器要有一套数字证书,可以自己制作(后面的操作就是阿铭自己制作的证书),也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出>提示页面,这套证书其实就是一对公钥和私钥;

服务器会把公钥传输给客户端;

客户端(浏览器)收到公钥后,会验证其是否合法有效,无效会有警告提醒,有效则会生成一串随机数,并用收到的公钥加密;

客户端把加密后的随机字符串传输给服务器;

服务器收到加密随机字符串后,先用私钥解密(公钥加密,私钥解密),获取到这一串随机数后,再用这串随机字符串加密传输的数据(该加密为对称加密,所谓对称加密,就是将数据和私钥也就是这个随机字符串>通过某种算法混合在一起,这样除非知道私钥,否则无法获取数据内容);

服务器把加密后的数据传输给客户端;

客户端收到数据后,再用自己的私钥也就是那个随机字符串解密;

HTTPS通信过程:

生成SSL密钥对:

php-fpm配置:

1. php-fpm的pool

vim /usr/local/php-fpm/etc/php-fpm.conf

2. php-fpm的慢执行日志

vim /usr/local/php-fpm/etc/php-fpm.d/www.conf

3. php-fpm定义open_basedir

php_admin_value[open_basedir]=/data/nginx/wap.com:/tmp/

4. php-fpm进程管理

pm = dynamic  //动态进程管理,也可以是static

pm.max_children = 50 //最大子进程数,ps aux可以查看

pm.start_servers = 20 //启动服务时会启动的进程数

pm.min_spare_servers = 5 //定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。

pm.max_spare_servers = 35 //定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。

pm.max_requests = 500  //定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。

原文地址:http://blog.51cto.com/11924224/2086285

时间: 2024-10-16 21:34:13

LNMP环境相关配置Nginx的相关文章

centos 6.8 安装LNMP环境(linux+nginx+mysql+php)

Nginx 特性 Nginx 性能稳定.功能丰富.运维简单.处理静态文件速度快且消耗系统资源极少.1.相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高.2.作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP 代理服务器对外进行服务.Nginx 用 C 编写而成, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多.3.作为邮件代理服务器:Nginx 同时也是一款非常优秀的邮件代理

8.LNMP环境的配置

# LNMP环境的配置 参照文档:https://oneinstack.com/install/ 安装文件位置:/data/soft: ```yum -y install wget screen python #for CentOS/Redhat # apt-get -y install wget screen python #for Debian/Ubuntu wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz #阿里云用户下载

Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --------------(LNMP)新手专用 http://blog.csdn.net/dyllove98/article/details/41120789 配置Nginx来支持php http://www.cnblogs.com/jecyhw/p/5504855.html nginx+php的配置与

LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2

LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2 你是否遇见过:安装LNMP1.3环境后,运行ThinkPHP 3.2,只能打开首页,不能访问控制器,报404错误. 按照以下3步设置,即可解决. ThinkPHP支持的URL模式有四种:普通模式.PATHINFO.REWRITE和兼容模式,系统默认的PATHINFO模式. LNMP1.3 一键安装完成后,默认支持REWRITE,需要手动开启 PATHINFO. 第1步修改:php.ini文件位置:/usr/local

Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

12.13 Nginx防盗链cd /usr/local/nginx/conf/vhostvi test.com.conf将以上内容复制到下图位置测试,成功前提data/wwwroot/test.com目录下要有1.gif12.14 Nginx访问控制cd /usr/local/nginx/conf/vhostvi test.com.confFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="Nginx

Ubuntu系统下lnmp环境搭建和Nginx多站点配置

最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件的命令等.) 操作系统:Ubuntu 15.10 本系统是新装的,所以没有Nginx.mysql和php环境.如果之前有装过这些环境的还得先把之前的软件先卸载. 一.安装MySQL 直接输入命令:sudoapt-get install mysql-server mysql-client 中间需要你输

lnmp环境搭建(nginx+php)第一章

LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python.下一章我们会在lnmp环境的基础上搭建wordpress(个人博客)源码安装nginx首先在根目录递归创建/data/servermkdir -p /data/server下载依赖包yum -y install openssl openssl-devel zlib zlib-devel pcre

lnmp环境安装(2)-nginx安装与配置

一.概述 Nginx(engine-x)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的. Nginx主要着眼点是其高性能以及对物理计算机资源的高密度利用,nginx采用了模块化.事件驱动.异步.单线程及非阻塞的架构,并大量采用多路复用及事件通知机制.Nginx按需同时运行多个进程:一个主进程(master)和几个工作进程(worker). Nginx的主要配

LNMP环境搭建(linux+Nginx + Mysql + PHP)

linux+Nginx + Mysql + PHP 搭配可以说目前使用比较广泛那要想在这台刚安装好系统的服务器上配置这环境,有多种方式 一.傻瓜式一键安装 为了让大家安装环境能简单,方便.有人把它们集成了一个包. 1.LNMP一键安装包网址:lnmp.org,里面介绍一些要求,功能等进入到安装页面说明,找到相关的安装说明,运行,然后一步一步按照操作就行了,比较简单 2.使用宝塔,这是更加傻瓜,方便的一款工具,操作服务,只需在网站后台,点点鼠标,就能完成网址:bt.cn找到,linux安装,里面有