LNMP环境相关配置Nginx
2018-03-13 23:59
253 查看
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. 域名重定向
4. Nginx的访问日志
Nginx日志格式定义在配置文件里:
vim test.com.conf,在server里面添加一行内容即可!
nginx日志切割需要编写脚本实现:
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的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
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的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。
相关文章推荐
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- 【Nginx】LNMP环境下的后续配置
- 配置nginx支持php yum搭建lnmp环境(CentOS6)
- 【LNMP】Nginx防盗链、Nginx访问控制、Nginx解析php相关配置和Nginx代理
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- Nginx安装配置,简单构建LNMP环境配置反向代理,实现动静分离,以及实现负载均衡。
- LNMP系列——Nginx生产环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP架构 (4) 之 Nginx的防盗链、访问控制、解析php相关配置
- LNMP环境搭建:Nginx安装、测试与域名配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP环境搭建:Nginx安装、测试与域名配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- LNMP(linux+nginx+mysql+php)服务器环境配置