Nginx配置及应用场景之基本配置

一、nginx.conf配置说明 主模块常用指令 daemon 含义:设置是否以守护进程模式运行 语法:daemon on|off 缺省:on 示例:daemon off 注意:生产环境(production mode)中不要使用daemon指令,这些选项仅 用于开发测试(development mode)。 debug_points 含义:断点调试 语法:debug_points [stop|abort] 缺省:none 示例:debug_points stop; 注意:在Nginx内有一些assert断言,这些断言允许Nginx,配合调试器中断程序运行、 停止或创建core文件。 master_process 含义:设置是否启用主进程 语法:master_process on|off 缺省:on 示例:master_process off; 注意: 不要在生产环境(production mode)中使用master_process指令, 这些选项仅用于开发测试(development mode)。 error_log 含义:指定错误日志文件 语法:error_log file [debug|info|notice|warn|error|crit] 缺省:${prefix}/logs/error.log 示例: error_log /data/nginx/logs/error.log debug 注意: 该命令并非只有在测试(或称为开发)模式下才可以使用,而是在编译时添加了–with-debug参数时, 则可以使用error_log指令的额外参数,即: error_log file [debug_core|debug_alloc|debug_mutex|debug_event| debug_http|debug_imap]; include 含义:指定所要包含的Nginx配置文件 语法:include <file|*> …

Nginx配置及应用场景之高级配置

一、Nginx反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。 一个通过HttpProxy模块实现反向代理的简单配置: server { listen 8888; server_name 134.32.28.134; location / { proxy_pass http://134.32.28.134:8090; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 此配置实现在ie中输入http://134.32.28.134:8888即会调转到134.32.28.134:8090中 Upstream模块配置实现: upstream appserver { server 134.32.28.134:8090; } server { listen 8888; server_name 134.32.28.134; location / { proxy_pass http://appserver; } } HttpRewrite模块配置实现 server { listen 8888; server_name 134.32.28.134; rewrite …

nginx服务器中的安全配置

一、关闭SELinux 安全增强型Linux(SELinux)的是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。 但是,SELinux带来的附加安全性和使用复杂性上不成比例,性价比不高 1 2 sed -i /SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config /usr/sbin/sestatus -v  #查看状态 二、通过分区挂载允许最少特权 服务器上 nginx 目录单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载 以下是我的/etc/fstab的挂载/nginx的信息:LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 …

Apache利用mod_limitipconn模块限制客户端多线程下载

限制多线程现在需要用到一个http://www.aliyun.com/zixun/aggregation/14417.html Apache的扩展模块mod_limitipconn,这里是作者的官方网站http://dominia.org/djao/limitipconn2.html mod_limitipconn下载地址,大家可以根据自己的使用环境选择适合的版本: source package RedHat/ CentOS 5 binary rpm source rpm README file Precompiled win32 DLL for Apache 2.0 (contributed by Apachez) Precompiled win32 DLL for Apache 2.2.11 (contributed by ntropic) Precompiled windows x64 DLL (contributed by sawo) old versions 关于Linux环境的安装说明: 如果您需要手动安装mod_limitipconn,请按照下面的说明。下面的说明是主要应用于Apache 2.2.9,但它也支持任何更高版本的Apache。 编译到httpd的mod_limitipconn说明: tar xzvf httpd-2.2.9.tar.gz tar xjvf mod_limitipconn-0.23.tar.bz2 cd httpd-2.2.9 ./configure –with-module=aaa:../mod_limitipconn-0.23/mod_limitipconn.c make make install …

Apache查看连接数和限制当前的连接数

起因:线上的一台服务器,最近总是出现 访问 很慢的情况发生,点击一个链接要2秒钟以上才能打开,按照我们对于访问人数的估计,服务器应该不至于响应这么慢,从而需要针对这个问题进行分析,来解决网站访问过慢。 分析: 1、首先,在页面访问变慢情况发生时,使用 top 命令查看了服务器的负载情况,发现负载并不高,初步估计不是程序的问题。 2、然后,查看了线程中的 httpd 的数量, ps -aux | grep httpd | wc -l 发现,线程数已经达到了 apache 设置的最大值。由此断定是网站访问人数过多造成了访问过慢。 3、为了验证,查看了连接数和当前的连接数,分别是 netstat -ant | grep $ip:80 | wc -l netstat -ant | grep $ip:80 | grep EST | wc -l 发现果然,连接数特别多,远远超过我们的估计值。 4、刚开始的时候,对于服务器的 MPM 配置方式不是特别的熟悉,认为修改服务器配置可以解决问题。主要的配置部分包括 prefork 模式 或者 work 模式的配置,下面是一些简单的介绍。 prefork 模式: 以 prefork 模式工作的 …

AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name

问题描述 今天在配置apache虚拟地址时出现500错误,即绑定127.0.0.1的host后访问配置好的虚拟地址,浏览器返回500 Internal Server Error,打开apache的error.log查看错误日志,发现如下错误代码和描述: [ssl:warn] [pid 29276:tid 292] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name 1 环境介绍 XAMPP,windows 7,火狐浏览器 解决方法 提示说服务器证书不包含与服务器名称匹配的ID,ssl警告,试着以管理员身份运行XAMPP Control Panel,再在浏览器中输入虚拟地址,回车,成功! Tips 几条关于apache配置的小建议: 1、使用notepad++打开httpd.conf和heepd-vhosts.conf文件,免得用一次要去找一次文件。 2、httpd.conf需要添加的语句主要有: # # Deny access to the entirety of your server’s filesystem. You must # explicitly permit access to web content …

linux文件权限及目录

1. 使用者与群组 2. Linux文件权限概念   2.1 Linux文件属性   2.2 如何改变文件属性与权限: chgrp, chown, chmod   2.3 目录与文件之权限意义   2.4 Linux文件种类与扩展名 3. Linux目录配置   3.1 Linux目录配置的依据–FHS:/, /usr, /var   3.2 目录树(directory tree)   3.3 绝对路径与相对路径   3.4 CentOS 的观察: lsb_release 4. 重点回顾 1. 使用者与群组 1.文件拥有者 2.群组概念 3.其他人的概念 Linux 用户身份与群组记录的文件 默认的情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的组名都纪录在/etc/group内!这三个文件可以说是Linux系统里面账号、密码、群组信息的集中地啰! 不要随便删除这三个文件啊! ^_^ 2. Linux文件权限概念   2.1 Linux文件属性   2.2 如何改变文件属性与权限: chgrp, chown, chmod   2.3 目录与文件之权限意义 …