Nginx-v1.6.2配置详解-CentOS6.5.docx_第1页
Nginx-v1.6.2配置详解-CentOS6.5.docx_第2页
Nginx-v1.6.2配置详解-CentOS6.5.docx_第3页
Nginx-v1.6.2配置详解-CentOS6.5.docx_第4页
Nginx-v1.6.2配置详解-CentOS6.5.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux环境-Nginx配置详解一. 准备工作系统:CentOS-6.5 虚拟机:VMware111. 工具1) gcc、gcc-c+、zlib、zlib-devel、openssl-1.0.1j.tar.gz、pcre-8.32.tar.gz、nginx-1.6.2.tar.gz、jdk-7u71-linux-x64.tar.gz、apache-tomcat-7.0.50.tar.gz2) 推荐将需要安装的工具都放在一个文件夹中,解压缩后不要删除;2. 安装安装前请将用户切换为root用户。1) gcc、gcc-c+安装 yum y install gcc gcc-c+Tip: 判断是否已经安装gcc或 gcc-c+命令:rpm qa|grep gcc(gcc-c+)2) zlib、zlib-devel安装 yum y install zlib zlib-develTip: 判断是否安装命令同上3. pcre的安装 解压缩:tar zxvf pcre-8.36.tar.gz 配置:./configure prefix=/usr/local/pcre 编译:make 安装:make install默认安装在/usr/local/pcre4. openssl的安装 解压缩:tar zxvf openssl-1.0.1j.tar.gz 配置:./config 编译:make 安装:make installTip:在make&make install时请耐心等待,openssl默认安装在/usr/local/ssl5. nginx的安装nginx安装前要先安装OpenSSL 解压缩:tar zxvf nginx-1.6.2.tar.gz 配置:./configure-with-http_stub_status_module -with-http_ssl_module -with-openssl=/home/zhao/openssl-1.0.1j -with-http_gzip_static_module -with-pcre=/home/zhao/pcre-8.36Tip:-with-http_stub_status_module :启动nginx Status功能,用来监控Nginx的当前状态-with-http_ssl_module:支持SSL-with-openssl=/home/zhao/openssl-1.0.1j:启动SSL(这里制定源码目录,而不是编译后的安装目录)-with-pcre=/home/zhao/pcre-8.36:启用正则表达式(这里制定源码目录,而不是编译后的安装目录)-with-http_gzip_static_module:启用静态压缩-with-http_memcached_module:启用memcache缓存-with-http_rewrite_module:启用支持URL重写(需要安装pcre,否则configure时报错) 编译:(编译时间比较长,请耐心等待)make 安装:make installnginx默认安装路径/usr/local/nginx,以下的配置示例都使用该地址。Tip: 查看版本:/usr/local/nginx/sbin/nginx -V二. Nginx的启动、停止、平滑重启1. 启动 命令:/usr/local/nginx/sbin/nginx2. 停止 ps命令查找Nginx的主进程号:ps ef | grep nginx图2-2-1从上图找到master process为49641。 从容停止:kill QUIT 49641 快速停止:kill TERM 49641 强制停止:pkill -9 496413. 平滑重启如果改变了Nginx的配置文件,想重启Nginx,重启前要确认Nginx的配置文件的语法是否正确,否则不会加载新的配置文件。例如:/usr/local/nginx/sbin/nginx t如果配置文件不正确,屏幕将提示配置文件第几行出错,如图2-3-1:图2-3-1如果配置文件正确,屏幕将提示以下两行信息:图2-3-2此时便可平滑重启(两种方式): /usr/local/nginx/sbin/nginx s reload kill HUP nginx主进程号三. Nginx的虚拟主机配置利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。1. 配置基于IP的虚拟主机 编辑/etc/rc.localvi /etc/rc.local在文件末尾增加以下内容,然后保存即可,如图3-1-1:图3-1-130、31是虚拟ip,这样可以让服务器重启后,虚拟ip仍然有效。如果重启没有生效,有可能虚拟ip冲突,更换其它虚拟ip重试。虚拟ipshiyong配置片段如下:http #第一个虚拟主机 server #监听的端口 listen 80; #主机名称 server_name ; #访问日志文件存放路径 access_log logs/; location / #默认首页文件,顺序从左到右,如果找不到index.html文件,则查找index.htm文件为首页文件index index.html index.htm;#HTML网页文件存放的目录root /html/htdocs/;#第二个虚拟主机 server #监听的端口 listen 80; #主机名称 server_name ; #访问日志文件存放路径 access_log logs/; location / #默认首页文件,顺序从左到右,如果找不到index.html文件,则查找index.htm文件为首页文件index index.html index.htm;#HTML网页文件存放的目录root /html/htdocs/;四. Nginx与Tomcat的安装、配置1. JDK和Tomcat的安装1) JDK安装 解压:tar zxvf jdk-7u71-linux-x64.tar.gz 移动:将解压包移动到/usr/local/java mv jdk-1.7.0 /usr/local/java 编译:make 安装:make install2) Tomcat安装 解压:tar zxvf apache-tomcat-7.0.50.tar.gz 移动:解压包移动到/usr/local 或重命名tomcat2. 配置环境变量编辑vim /etc/profil,配置如图4-2-1图4-2-1执行命令使配置生效:source /etc/profile3. Nginx与Tomcat的配置一个完整的配置示例:#user nobody;worker_processes 2;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;pid logs/nginx.pid;events worker_connections 1024;http include mime.types; default_type application/octet-stream; log_format main $remote_addr - $remote_user $time_local $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for; #access_log logs/access.log main; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #gzip on; client_body_buffer_size 512k; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; upstream tomcat_server server :8080; server listen 80; server_name 29; #charset koi8-r; index index.html index.htm index.jsp default.jsp index.do default.do;root /data0/htdocs/www;if (-d $request_filename)rewrite /(.*)(/)$ http:/$host/$1$2/ permanent;location .(jsp|jspx|do)?$proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http:/tomcat_server;location .*.(gif|jpg|jpeg|png|bmp|swf)$expires 30d;location .*.(js|css)?$expires 1h;五. Nginx HTTP负载均衡配置Nginx的反向代理负载均衡能够很好地支持虚拟主机,可配置性很强,可以按轮询、IP哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。1. Nginx反向代理示例user nobody;worker_processes 2;error_log logs/error.log;pid /usr/local/nginx/nginx.pid;events use epoll; worker_connections 1024;http include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; sendfile on; keepalive_timeout 65; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; #允许客户端请求的最大单个文件字节数client_max_body_size 300m;#缓冲区代理缓冲用户端请求的最大字节数,可以理解为先保存到本地再给用户;client_body_buffer_size 128k;#跟后端服务器连接的超时时间发起握手等候相应超时时间proxy_connect_timeout 600;#连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理proxy_read_timeout 600;#后台服务器数据回传时间_就是在规定时间后端服务器必须传完的所有数据proxy_send_timeout 600;#代理请求缓存区_这个缓存区间会保存用户的头信息以供nginx进行规则处理_一般只保存头信息proxy_buffer_size 16k;#同上,告诉Nginx保存单个用的几个Buffer 最大用多大空间proxy_buffers 4 32k;#如果系统很忙时可以申请更打的proxy_Buffer *2proxy_busy_buffers_size 64k;#proxy缓存临时文件的大小 proxy_temp_file_write_size 64k; #配置了apache服务器组 upstream apache_server_pool server 55:80 weight=4 max_fails=2 fail_timeout=30s;#配置了tomcat服务器组upstream tomcat_server_pool server 55:8080 weight=4 max_fails=2 fail_timeout=15s; server 8:8081 weight=3 max_fails=2 fail_timeout=15s; #第一个虚拟主机,反向代理apache_server_pool这组服务器 server listen 80; server_name 29; location / proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http:/apache_server_pool; proxy_set_header Host 29; proxy_set_header X-Forwarded-For $remote_addr; #第二个虚拟主机server listen 80; server_name 31 location /manager/ proxy_pass http:/tomcat_server_pool; proxy_set_header Host $host;location / proxy_pass http:/apache_server_pool; proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;以上配置了apache服务器组tomcat服务器组,例如当访问虚拟机31/时,访问的是php_server_pool,即55:80。当访问31/manager/,访问的是tomcat_server_pool,即55:8080,因为它的权重高。如果55:8080服务器宕机,请求将转到8:8081。如果55:8080恢复,请求将再次转到本服务。六. Nginx OpenSSL双向认证确保OpenSSL的正确安装,然后就可以使用openssl命令了。1. 服务器端私钥#openssl genrsa -des3 -out server.key 2048运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:#openssl rsa -in server.key -out server.key2. 用Server.key生成证书# openssl req -new -key server.key -out server.csr输入证书请求信息:说明:A challenge password : 可以不输入An optional company name :可以不输入3. 客户端私钥# openssl genrsa -des3 -out client.key 20484. 用Client.key生成证书# openssl req -new -key client.key -out client.csr输入证书请求信息同服务类似,Country Name|Province Name|Locality Name|Unit Name|hostname(不能和Server端输入相同的主机名)|email|5. 生成可信任的CA证书# openssl req -new -x509 -keyout ca.key -out ca.crt同上,注意这里的hostname的信息不要和以上重复。 签署证书的准备工作6. 文件签名1) 服务端文件签名# openssl ca -in server.csr -out server.crt -cert ca.crt -

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论