Nginx反向代理Tomcat服务器

合集下载

生产环境 nginx用法

生产环境 nginx用法

生产环境 nginx用法
生产环境中,Nginx 是一个高性能的 HTTP 和反向代理服务器,常用于托管网站、负载均衡和作为反向代理。

以下是关于在生产环
境中使用 Nginx 的一些常见用法:
1. 静态文件服务,Nginx 可以用来提供静态文件的服务,例如HTML、CSS、JavaScript 和图片文件。

通过配置 Nginx,可以轻松
地将这些静态文件提供给用户,从而减轻后端服务器的负担。

2. 反向代理,Nginx 可以作为反向代理服务器,将客户端的请
求转发给后端的应用服务器,如 Apache、Tomcat 或 Node.js。


样可以提高系统的安全性和性能,同时实现负载均衡和故障转移。

3. 负载均衡,在生产环境中,Nginx 可以用来实现负载均衡,
将流量分发到多个后端服务器上,从而提高整个系统的性能和可靠性。

4. SSL/TLS 终结,Nginx 可以用作 SSL/TLS 终结器,负责处
理加密通信,从而减轻后端服务器的负担。

5. 缓存加速,Nginx 可以配置为缓存静态内容或动态内容,以减少后端服务器的负载并提高用户访问速度。

6. 安全防护,Nginx 提供了丰富的安全功能,包括访问控制、防止恶意请求、DDoS 攻击防护等。

7. 日志记录,Nginx 可以记录访问日志和错误日志,帮助管理员监控系统运行情况和进行故障排查。

综上所述,Nginx 在生产环境中有多种用途,包括静态文件服务、反向代理、负载均衡、SSL/TLS 终结、缓存加速、安全防护和日志记录等。

合理配置和使用 Nginx 可以提高系统的性能、安全性和可靠性。

linux下Nginx+tomcat整合的安装与配置

linux下Nginx+tomcat整合的安装与配置

目的:搭建Nginx与tomcat整合,用Nginx代替apache步骤:一、安装Nginx1、上传nginx-0.7.63.tar.gz至/usr/local2、执行如下命令解压nginx:1.#cd /usr/local2.#tar zxvf nginx-0.7.63.tar.gz3、编译安装nginx1.#cd nginx-0.7.632.#./configure --with-http_stub_status_module --with-http_ssl_module #启动server状态页和https模块执行完后会提示一个错误,说缺少PCRE library 这个是HTTP Rewrite 模块,也即是url静态化的包可上传pcre-7.9.tar.gz,输入如下命令安装:1.#tar zxvf pcre-7.9.tar.gz2.#cd pcre-7.93.#./configure4.#make5.#make install安装pcre成功后,继续安装nginx如果是ubuntu 或Debian系统请先安装# apt-get install libpcre3 libpcre3-dev原文:I need to compile few application and I need Perl 5 Compatible Regular Expression Library (PCRE). Under CentOS I can use a package called pcre-devel, but Debian do not have the same. How do I install pcre-devel under Debian / Ubuntu Linux?Perl-compatible regular expression library. PCRE has its own native API, but a set of "wrapper"functions that are based on the POSIX API are also supplied in the library libpcreposix. Note that this just provides a POSIX calling interface to PCRE: the regular expressions themselves still follow Perl syntax and semantics. The header file for the POSIX-style functions is called pcreposix.h. To install PCRE, type thy following command:# apt-get update# apt-get install libpcre3 libpcre3-dev1.#cd nginx-0.7.632.#./configure3.#make4.#make install4、nginx安装成功后的安装目录为/usr/local/nginx在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:01.#!nginx (-)02.# proxy.conf03.proxy_redirect off;04.proxy_set_header Host $host;05.proxy_set_header X-Real-IP $remote_addr; #获取真实ip06.#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip07.client_max_body_size 10m;08.client_body_buffer_size 128k;09.proxy_connect_timeout 90;10.proxy_send_timeout 90;11.proxy_read_timeout 90;12.proxy_buffer_size 4k;13.proxy_buffers 4 32k;14.proxy_busy_buffers_size 64k;15.proxy_temp_file_write_size 64k;编辑安装目录下conf文件夹中的nginx.conf,输入如下内容001.#运行nginx所在的用户名和用户组002.#user www www;003.004.#启动进程数005.worker_processes 8;006.#全局错误日志及PID文件007.error_log /usr/local/nginx/logs/nginx_error.log crit;008.009.pid /usr/local/nginx/nginx.pid;010.011.#Specifies the value for maximum file descriptors that can be opened by this process. 012.013.worker_rlimit_nofile 65535;014.#工作模式及连接数上限015.events016.{017. use epoll;018. worker_connections 65535;019.}020.#设定http服务器,利用它的反向代理功能提供负载均衡支持021.http022.{023. #设定mime类型024. include mime.types;025. default_type application/octet-stream;026. include /usr/local/nginx/conf/proxy.conf;027. #charset gb2312;028. #设定请求缓冲029. server_names_hash_bucket_size 128;030. client_header_buffer_size 32k;031. large_client_header_buffers 4 32k;032. client_max_body_size 8m;033.034. sendfile on;035. tcp_nopush on;036.037. keepalive_timeout 60;038.039. tcp_nodelay on;040.041.# fastcgi_connect_timeout 300;042.# fastcgi_send_timeout 300;043.# fastcgi_read_timeout 300;044.# fastcgi_buffer_size 64k;045.# fastcgi_buffers 4 64k;046.# fastcgi_busy_buffers_size 128k;047.# fastcgi_temp_file_write_size 128k;048.049.# gzip on;050.# gzip_min_length 1k;051.# gzip_buffers 4 16k;052.# gzip_http_version 1.0;053.# gzip_comp_level 2;054.# gzip_types text/plain application/x-javascript text/css application/xml;055.# gzip_vary on;056.057. #limit_zone crawler $binary_remote_addr 10m;058. ###禁止通过ip访问站点059. server{060. server_name _;061. return 404;062. }063.064.065. server066. {067. listen 80;068. server_name localhost;069. index index.html index.htm index.jsp;#设定访问的默认首页地址070. root /home/www/web/ROOT;#设定网站的资源存放路径071.072. #limit_conn crawler 20;073.074. location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理075. {076. index index.jsp;077. proxy_pass http://localhost:8080;#转向tomcat处理078. }079.080.081. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat 082. {083. expires 30d;084. }085.086. location ~ .*\.(js|css)?$087. {088. expires 1h;089. }090.091.#定义访问日志的写入格式092. log_format access '$remote_addr - $remote_user [$time_local] "$request" '093. '$status $body_bytes_sent "$http_referer" '094. '"$http_user_agent" $http_x_forwarded_for';095. access_log /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径096.097. }098.099.100.101.102.}5、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:1.#/usr/local/nginx/sbin/nginx -t如果屏幕显示以下两行信息,说明配置文件正确:1.the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok2.the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully如果提示unknown host,则可在服务器上执行:ping 如果也是同样提示unknown host则有两种可能:a、服务器没有设置DNS服务器地址,查看/etc/resolv.conf下是否设置,若无则加上b、防火墙拦截6、启动nginx的命令1.#/usr/local/nginx/sbin/nginx这时,输入以下命令查看Nginx主进程号:1.ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'7、停止nginx的命令1.#/usr/local/nginx/sbin/nginx -s stop8、在不停止Nginx服务的情况下平滑变更Nginx配置a、修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:1./usr/local/nginx/sbin/nginx -t如果屏幕显示以下两行信息,说明配置文件正确:1.the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok2.the configuration file /usr/local/nginx/conf/nginx.conf was tested successfullyb、这时,输入以下命令查看Nginx主进程号:1.ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'屏幕显示的即为Nginx主进程号,例如:6302这时,执行以下命令即可使修改过的Nginx配置文件生效:1.kill -HUP 6302或者无需这么麻烦,找到Nginx的Pid文件:1.kill -HUP `cat /usr/local/nginx/nginx.pid`9、nginx启动好后启动tomcat,此时输入http://主机ip地址即可看到“My web!”三、其他stub_status语法: stub_status on默认值: None作用域: location创建一个location 区域启用stub_status"stub status" 模块返回的状态信息跟mathopd's 的状态信息很相似. 返回的状态信息如下:1.Active connections: 2912.server accepts handled requests3.16630948 16630948 310704654.Reading: 6 Writing: 179 Waiting: 106active connections -- 对后端发起的活动连接数server accepts handled requests -- nginx 总共处理了16630948 个连接, 成功创建16630948 次握手(证明中间没有失败的), 总共处理了31070465 个请求(平均每次握手处理了 1.8个数据请求)reading -- nginx 读取到客户端的Header信息数writing -- nginx 返回给客户端的Header信息数waiting -- 开启keep-alive 的情况下,这个值等于active - (reading + writing),意思就是Nginx 说已经处理完正在等候下一次请求指令的驻留连接。

Nginx+tomcat+ssl安装配置手册

Nginx+tomcat+ssl安装配置手册

Nginx + tomcat + SSL 安装配置手册1.介绍Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。

nginx有以下几项基本特性:模块化结构过滤器包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。

高性能支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。

高稳定性Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。

官方表示保持10,000个没有活动的连接,它只占2.5M内存。

多负载策略多种分配策略,并且分配均匀。

自Nginx 发布四年来,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。

目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;国内几个重要的视频分享网站也部署了Nginx,如六房间、酷6等。

2.准备2.1 资源Nginx中文网站:/Nginx英文网站:/PCRE网站:/2.2 相关软件1)PCREPCRE(Perl Compatible Regular Expressions)中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库。

neginx中使用正则表达式进行灵活配置,安装之前需要确认PCRE已安装。

下载地址:/,使用版本pcre-8.12.tar.gz2)nginx-upstream-jvm-routenginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于Cookie 的Session Sticky 的功能。

下载地址(svn):/svn/trunk/3.4.4.1 Windows版安装安装文件为.zip文件,解压缩后,运行目录中的nginx.exe(或使用命令),服务启动。

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页⾯场景Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动:Nginx的配置⽂件位置以及组成部分结构讲解:Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量:下⾯实例实现客户端浏览器请求指定⽹址,跳转到服务器Tomcat主页⾯。

所以需要参考上⾯去实现⼀些准备⼯作。

注:实现安装JDK使⽤VmWare安装Ubuntu Server 16,然后安装JDK以及环境变量参考下⾯:Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量:效果安装Tomcat下载Tomcat的tar包,⾃⾏去官⽹下载,这⾥是apache-tomcat-7.0.70.tar.gz然后使⽤Xftp或者rz命令将Tomcat的tar包上传到 /usr/local ⽬录下然后将Tomcat的tar包解压tar -xzvf apache-tomcat-7.0.70.tar.gzx代表解压 z代表gz压缩 v显⽰解压列表 f解压⽂件名字然后进⼊到解压的⽬录下的bin下的⽬录启动Tomcat./startup.sh效果打开浏览器输⼊:ip:8080反向代理实现流程客户端浏览器访问,会映射到Nginx服务器上,然后通过反向代理去请求tomcat的主页⾯。

配置域名映射ip在C:\Windows\System32\drivers\etc下的host⽂件中配置映射使⽤编辑器打开,添加ip与域名的映射保存后,使⽤浏览器访问:如果出现Tomcat的主页⾯则说明映射成功。

虽然这样能直接通过8080端⼝直接访问,但是咱的⽬的是通过Nginx反向代理访问Tomcat的主页⾯,即通过80端⼝访问⽽80端⼝⼜是默认端⼝,所以只需要域名就能访问Tomcat的主页⾯。

在Nginx进⾏反向代理的配置参考下⾯这篇⽂章,找到Nginx安装⽬录下的配置⽂件Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动:默认安装路径 /usr/local/nginx/conf/nginx.conf然后编辑配置⽂件vi nginx.conf下⾯是默认的配置⽂件内容下⾯要修改两个地⽅然后保存。

IPDC专业技术名词解释

IPDC专业技术名词解释

IPDC专业技术名词解释web服务器Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达50,000 个并发连接数的响应。

apahceApache是世界使用排名第一的Web服务器软件。

它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

Apache 的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

主要成果:HTTP Server,Ant,DB,iBA TIS,Jakarta,Logging,Maven,Struts,Tomcat,Tapestry等等。

TomcatTomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

目前最新版本是6.0。

它是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。

实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

Cherokee号称是目前最快的Web 服务器软件,在性能上,甚至比Nginx 还略胜一筹。

与Apache、Lighttpd、Nginx 等其他同类软件的对比,大家不妨看看这个测试页面。

其易用性做得也很不错。

Cherokee的功能包括支持FastCGI、SCGI、PHP、CGI、TLS 及SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与Apache 兼容的log 文件等等。

nginx和tomcat区别

nginx和tomcat区别

介绍
要想知道ngin与tomcat区别,我们就得弄明白什么是ngin,它是干什么的;什么是tomcat,有啥用途,知道了这些大概就了解了它们之间的区别。

下面就围
绕这些内容展开分析一下它们到底有啥区别。

1.什么是ngin
Ngin是一款高性能的web和反向代理的服务器,同时也是一个
IMAP/POP3/SMTP代理服务器。

其特点是空间内存占用少,并发能力强,也是当
下使用最为广泛的,特别是在分布式架构中发挥着重要的作用。

2.ngin是干什么的
a.反向代理;
b.负载均衡;
c.电子邮件代理服务器
...
3.什么是tomcat
Tomcat服务器是一个免费开源的轻量级Web应用服务器,在中小型系统和并
发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选。

而实际上tomcat是Apache服务器的扩展。

4.tomcat主要用来干啥
a.主要用于部署javaweb服务;
b.主要用作中小型,低并发的web应用中;
c.适合中小企的web应用。

5.ngin与tomcat之间有啥区别
1.ngin常用做静态资源内容服务和代理服务器,更像一个HTTPserver;而tomcat更像一个应用容器;
2.在使用场景上有很大区别。

ngin主要用作代理服务器,而tomcat主要用于
部署web应用。

nginx代理方法

nginx代理方法

nginx代理方法
Nginx作为一个高性能的Web服务器和反向代理服务器,可以通过多种方法来进行代理。

以下是一些常见的Nginx代理方法:
1. 反向代理,Nginx可以作为反向代理服务器,将客户端的请求转发给后端的服务器。

这种代理方式可以用于负载均衡、缓存静态内容等。

配置反向代理需要在Nginx的配置文件中使用
`proxy_pass`指令来指定后端服务器的地址和端口。

2. 正向代理,Nginx也可以用作正向代理服务器,充当客户端和外部服务器之间的中间人。

这种代理方式可以用于控制对外部资源的访问、过滤内容等。

配置正向代理需要在Nginx的配置文件中使用`proxy_pass`指令来指定外部服务器的地址和端口,并可能需要配置访问控制列表等。

3. TCP代理,除了HTTP和HTTPS代理外,Nginx还可以进行TCP代理,用于代理其他TCP协议的连接,比如SMTP、POP3等。

配置TCP代理需要在Nginx的配置文件中使用`stream`模块来定义TCP代理的配置。

4. WebSocket代理,Nginx也可以代理WebSocket的连接,用于支持WebSocket协议的应用。

配置WebSocket代理需要在Nginx 的配置文件中使用`proxy_pass`指令,并且需要配置一些特殊的头部信息。

总的来说,Nginx提供了丰富的代理功能,并且可以通过灵活的配置来满足不同的代理需求。

在实际应用中,需要根据具体的场景和需求选择合适的代理方法,并进行相应的配置和调优。

希望以上信息能够帮助你更好地了解Nginx的代理方法。

linux下nginx【反向代理】配置【负载均衡】配置

linux下nginx【反向代理】配置【负载均衡】配置

linux下nginx【反向代理】配置【负载均衡】配置nginx 安装过程略过,新⼿可参考本次主要记录下nginx配置⽂件的设置过程nginx 的配置⽂件nginx.conf 可以配置多个端⼝:复制⼀个 server{ //code } 代码块修改端⼝即可如下配置⽂件中 nginx 启动后,可访问以下两个端⼝。

修改后配置⽂件后,访问 http://ip:10088 和 http://ip:10087 均可请求到nginx服务。

1、10088端⼝配置反向代理,消除跨域问题。

在 server { //code} 中添加如下代码则可以添加⼀个Tomcat 服务的反向代理。

原始访问tomcat 的路径为 http://ip:8582/ncms 在 nginx 配置⽂件中加⼊以下代码后,则可以通过 http://ip:10088/ncms 访问到 tomcat的服务。

这对于在⼀台服务器上发布多个tomcat时统⼀的地址端⼝+不同项⽬,可以完美绕开跨域问题。

location /ncms {proxy_pass http://127.0.0.1:8582;proxy_set_header Host $host:10088;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Via "nginx";client_max_body_size 50m;}2、10087端⼝配置ip_hash模式的负载均衡,ip_hash可以绕开解决session共享的问题。

⽬前许多应⽤均为多节点部署。

例如:同⼀个java Web应⽤部署了4个 Tomcat 服务,把tomcat原始访问地址+端⼝配置成如下模式, weight为权重。

以下配置模式表⽰ server 10.174.25.213:8582 weight=6 有60%的概率处理客户端请求。

nginx反向代理解决跨域的原理

nginx反向代理解决跨域的原理

Nginx反向代理解决跨域问题的原理可以概括为以下几点:
1. Nginx作为反向代理服务器,接收来自客户端的HTTP请求,并将其转发到另一个或多个服务器上处理。

2. 当请求涉及到跨域资源共享(CORS)时,Nginx可以作为代理服务器,在请求和响应之间扮演桥梁角色。

3. Nginx通过配置相应的代理规则,将本地一个URL前缀映射到要跨域访问的Web服务器上。

这样,对于浏览器来说,访问的就是同源服务器上的一个URL,从而实现了跨域访问。

4. 在Nginx的配置文件中,可以设置特定的指令来控制代理的行为,如使用`add_header`指令添加相应的CORS头部信息。

5. 通过Nginx的反向代理功能,可以实现不同域名之间的跨域访问,同时隐藏了实际的物理服务器地址,保护了后端服务的安全性。

综上所述,Nginx反向代理解决跨域问题的原理是通过将本地URL前缀映射到要跨域访问的Web服务器上,并在代理过程中添加相应的CORS头部信息,从而实现跨域访问。

nginx重启后,反向代理失败之问题排查记录

nginx重启后,反向代理失败之问题排查记录

nginx重启后,反向代理失败之问题排查记录问题与排查过程本地开发环境的服务器,部署了nginx,nginx上对静态的web前端页⾯进⾏了http 80端⼝代理;然后呢,因为⼀些原因,服务器重启了,重启服务器后,我去把nginx启动起来,但是nginx怎么也代理不了80端⼝,问题如下:1. 浏览器访问没响应,本地telnet服务器的80端⼝是通的,使⽤wireshark抓包,过程如下:包3-包7,tcp 三次握⼿;包8,本机给开发服务器发了http请求;包9,本机重传;包10,服务器返回ack,确认收到请求,但是依然没有请求返回。

后续⼀直没有请求返回2. 服务器端,将nginx.conf进⾏了精简,精简后,主要配置如下:server {listen 80;server_name localhost;gzip on;gzip_http_version 1.1;gzip_comp_level 3;gzip_types text/plain application/json application/javascript text/css image/jpeg image/gif image/png application/zip;access_log logs/host.access.log;#这⾥对web前端静态页⾯做了代理,路径为/police3-web/scmlocation / {root /police3-web/scm;try_files $uri index.html /index.html;if ($request_filename ~* \.(gif|jpg|jpeg|png|css|js|ico|eot|otf|fon|font|ttf|ttc|woff|woff2)$) {expires 7d;}}location ^~ /scm {proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:9080;}location ~/group([0-9])/M([0-9])([0-9]) {add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';#ngx_fastdfs_module;//因为怀疑和fastdfs有关系,专门注释了}}3. 重启nginx后,观察logs/error.log:2019/12/06 08:56:53 [alert] 10588#0: worker process 10802 exited on signal 11 (core dumped)2019/12/06 08:56:53 [alert] 10588#0: worker process 10802 exited on signal 11 (core dumped)2019/12/06 08:56:53 [alert] 10588#0: worker process 10802 exited on signal 11 (core dumped)2019/12/06 08:56:53 [notice] 10588#0: start worker process 108062019/12/06 08:56:53 [notice] 10588#0: start worker process 10806ngx_http_fastdfs_process_init pid=108062019/12/06 08:56:56 [notice] 10588#0: signal 17 (SIGCHLD) received from 108062019/12/06 08:56:56 [notice] 10588#0: signal 17 (SIGCHLD) received from 108062019/12/06 08:56:56 [alert] 10588#0: worker process 10806 exited on signal 11 (core dumped)2019/12/06 08:56:56 [alert] 10588#0: worker process 10806 exited on signal 11 (core dumped)2019/12/06 08:56:56 [alert] 10588#0: worker process 10806 exited on signal 11 (core dumped)2019/12/06 08:56:56 [notice] 10588#0: start worker process 108082019/12/06 08:56:56 [notice] 10588#0: start worker process 10808ngx_http_fastdfs_process_init pid=108082019/12/06 08:56:59 [notice] 10588#0: signal 17 (SIGCHLD) received from 108082019/12/06 08:56:59 [notice] 10588#0: signal 17 (SIGCHLD) received from 108082019/12/06 08:56:59 [alert] 10588#0: worker process 10808 exited on signal 11 (core dumped)2019/12/06 08:56:59 [alert] 10588#0: worker process 10808 exited on signal 11 (core dumped)2019/12/06 08:56:59 [alert] 10588#0: worker process 10808 exited on signal 11 (core dumped)2019/12/06 08:56:59 [notice] 10588#0: start worker process 108122019/12/06 08:56:59 [notice] 10588#0: start worker process 10812差不多就是循环往复地打这些⽇志,然后我就去百度了⼀下,查到了这篇:⾥⾯提到了dmesg命令,我这边也执⾏了⼀下,输出如下:[55522.992453] nginx[10844]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55526.018405] nginx[10851]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55529.043590] nginx[10853]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55532.070932] nginx[10855]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55535.097444] nginx[10859]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55538.122466] nginx[10861]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55541.148914] nginx[10871]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55544.201955] nginx[10914]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55547.229135] nginx[10921]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55550.254445] nginx[10923]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55553.279543] nginx[10928]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55556.305874] nginx[10932]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55559.331128] nginx[10936]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55562.356655] nginx[10938]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55565.408411] nginx[10943]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55568.434908] nginx[10948]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000][55571.459719] nginx[10950]: segfault at 4 ip 00007f23d017ff84 sp 00007ffdf82783e0 error 4 in libfdfsclient.so[7f23d0179000+18000]我就想,之前同事好像和我说,要把fastdfs重新启动起来,我⼀想,可能服务器重启后,fastdfs没启动导致的。

Nginx四个作用

Nginx四个作用

Nginx四个作⽤本⽂只针对Nginx在不加载第三⽅模块的情况能处理哪些事情,由于第三⽅模块太多所以也介绍不完。

Nginx能做什么——反向代理——负载均衡——HTTP服务器(动静分离)——正向代理以上就是我了解到的Nginx在不依赖第三⽅模块能处理的事情,下⾯详细说明每种功能怎么做。

反向代理反向代理应该是Nginx做的最多的⼀件事了。

反向代理(Reverse Proxy)⽅式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部⽹络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为⼀个反向代理服务器。

简单来说就是真实的服务器不能直接被外部⽹络访问,所以需要⼀台代理服务器,⽽代理服务器能被外部⽹络访问的同时⼜跟真实服务器在同⼀个⽹络环境,当然也可能是同⼀台服务器,端⼝不同⽽已。

下⾯贴上⼀段简单的实现反向代理的代码server {listen 80;server_name localhost;client_max_body_size 1024M;location / {proxy_pass http://localhost:8080;proxy_set_header Host $host:$server_port;}}保存配置⽂件后启动Nginx,这样当我们访问localhost的时候,就相当于访问localhost:8080了负载均衡负载均衡也是Nginx常⽤的⼀个功能,负载均衡其意思就是分摊到多个操作单元上进⾏执⾏,例如Web服务器、FTP服务器、企业关键应⽤服务器和其它关键任务服务器等,从⽽共同完成⼯作任务。

简单⽽⾔就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置⼀般都需要同时配置反向代理,通过反向代理跳转到负载均衡。

⽽Nginx⽬前⽀持⾃带3种负载均衡策略,还有2种常⽤的第三⽅策略。

linux服务器中间件使用手册

linux服务器中间件使用手册

Linux服务器中间件使用手册是一个非常广泛的指南,因为它涵盖了许多不同的软件和服务。

以下是一些常见的Linux服务器中间件及其使用手册:
1. Nginx:Nginx是一个高性能的HTTP和反向代理服务器。

它的官方文档提供了详细的安装、配置和使用说明。

您可以在Nginx的官方网站上找到这些文档。

2. Apache Tomcat:Tomcat是一个用于Java Servlet和JavaServer Pages技术的开源实现。

它的官方文档提供了安装、配置和使用说明,以及如何部署Web应用程序的指南。

3. Redis:Redis是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。

Redis的官方文档提供了详细的安装、配置和使用说明。

4. MySQL:MySQL是一个流行的关系数据库管理系统。

MySQL 的官方文档提供了安装、配置和使用说明,以及如何创建和管理数据库的指南。

5. PostgreSQL:PostgreSQL是一个开源的对象-关系数据库管理系统。

PostgreSQL的官方文档提供了安装、配置和使用说明,以及如何创建和管理数据库的指南。

这些中间件都有自己的使用手册,您可以根据您的需求和中间件的选择来查找和使用相应的使用手册。

另外,您还可以在互联网上找到许
多教程和指南,这些教程和指南通常会提供有关如何安装、配置和使用这些中间件的详细说明。

Nginx 安装nginx_upstream_jvm_route模块之 tomcat安装及配置

Nginx 安装nginx_upstream_jvm_route模块之 tomcat安装及配置

Nginx 安装nginx_upstream_jvm_route模块之tomcat安装及配置2013/08/29 by: shao原创文章,转载请指明出处并保留原文url地址本文主要搭建若干台虚拟机来, 安装nginx及tomcat,然后测试相关服务器的会话粘连特性.1. 安装javayum install java-1.6.0-openjdk2. 安装 tomcat下载 tomcatwget/apache/tomcat/tomcat-6/v6.0.37/bin/apache-tom cat-6.0.37.tar.gz解压缩tar xzvf apache-tomcat-6.0.37.tar.gz -C /usr/local/cd /usr/local/mv apache-tomcat-6.0.37 tomcat启动 tomcat[root@n1 bin]# pwd/usr/local/tomcat/bin[root@n1 bin]# ./startup.shUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar检验是否启动如下蓝色区域3. 配置tomcat修改tomcat的 server.xml文件, 在文件中将如下行 <Engine name="Catalina" defaultHost="localhost">修改为 <Engine name="Catalina" defaultHost="localhost" jvmRoute="t1">4. 创建测试页面进入如下目录:[root@n1 tomcat]#[root@n1 tomcat]# pwd/usr/local/tomcat[root@n1 tomcat]# cd webapps/[root@n1 webapps]# lsdocs examples host-manager manager ROOT[root@n1 webapps]# cd ROOT/输入如下内容:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html><head></head><body>$your_jvm_name<br /><% out.print(request.getSession()) ;System.out.println(request.getSession());%> <br /><% out.println(request.getHeader("Cookie"));System.out.println(request.getHeader("Cookie"));%></body></html>5. Nginx安装见前面文章Nginx 下安装nginx_upstream_jvm_route模块/nginx-xia-an-zhuang-nginx-upstream-jvm-route-mo-kuai.html6. 配置hosts文件vi /etc/hosts在文件最后添加如下:192.168.199.108 n1192.168.199.107 n27. 测试tomcat页面编辑windows下hosts文件最后添加,如下:192.168.199.108 192.168.199.107 192.168.199.102 打开浏览器,输入:/a.jsp类似输入如下地址:/a.jsp8. 配置n1服务器的 nginx配置文件[root@n1 conf]# cd /usr/local/nginx/conf/[root@n1 conf]# lsfastcgi.conf mime.types scgi_params.default fastcgi.conf.default mime.types.default uwsgi_paramsfastcgi_params nginx.conf uwsgi_params.default fastcgi_params.default nginx.conf.2 win-utfkoi-utf nginx.conf.defaultkoi-win scgi_params[root@n1 conf]# vi nginx.conf输入下面内容:worker_processes 5;events {use epoll;worker_connections 2048;}http {log_format access ‘$remote_addr – $remote_user [$time_local] "$request" ‘‘$status $body_bytes_sent "$http_referer" ‘‘"$http_user_agent" $http_x_forwarded_for’;upstream backend {server n1:8080 srun_id=t1; #负载均衡服务器server n2:8080 srun_id=t2; #负载均衡服务器jvm_route $cookie_JSESSIONID|sessionid reverse;}include mime.types;default_type application/octet-stream;charset UTF-8;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 20m;limit_rate 1024k;sendfile on;tcp_nopush on;keepalive_timeout 60;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;server {listen 80;server_name localhost;index index.jsp index.htm index.html;root html;access_log logs/host.access.log access;location / {proxy_pass http://backend; #设为反向代理proxy_redirect off;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded _for;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;}location ~ .*\.(htm|html|ico|gif|jpg|jpeg|png|bmp|swf)$ {expires 30d;}location ~ .*\.(js|css)?${expires 1h;}}}如上图:,做相关的配置9. 测试n1服务器的浏览结果10. 配置服务器n2, 配置过程同上面11. 创建服务器n3,并且配置相关nginx,如下:worker_processes 5;events {use epoll;worker_connections 2048;}http {log_format access ‘$remote_addr – $remote_user [$time_local] "$request" ‘‘$status $body_bytes_sent "$http_referer" ‘‘"$http_user_agent" $http_x_forwarded_for’;upstream backend {server n1:80 ; #负载均衡服务器server n2:80 ; #负载均衡服务器}include mime.types;default_type application/octet-stream; charset UTF-8;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 20m;limit_rate 1024k;sendfile on;tcp_nopush on;keepalive_timeout 60;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;server {listen 80;server_name localhost;index index.jsp index.htm index.html; root html;access_log logs/host.access.log access;location / {proxy_pass http://backend; #设为反向代理proxy_redirect off;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded _for;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;}location ~ .*\.(htm|html|ico|gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 1h;}}}12. 启动n3的nginx服务器, 测试环境准备1). 启动连接控制台窗口连接到n1服务器A. 监控nginx服务器的日志输出tail -f /usr/local/nginx/logs/host.access.logB. 监控tomcat的日志输出tail -f /usr/local/tomcat/logs/catalina.out2). 连接n2服务器,分别参照上面方法, 分别监控 tomcat及nginx的访问日志.3). 针对控制台多连续按下回车, 保证监视控制台是空的, 没有任何数据, 这样方便一会数据的查看13. 连续发起请求, 测试相关功能1).打开浏览器,输入如下地址/a.jsp显示结果如下:路上图:位置1:(黄色区域),输入相关测试域名, 测试域名相当重要, session是基于cookie的,cookie同域名是紧密联系的,因此域名及其重要.位置2:(绿色区域), 域名中不包括端口(8080),说明是先访问nginx服务器位置3:(红色区域), 这次访问中,由于没有登录, 因此可以设置服务器设置了cookie位置4:(蓝色区域), 是本次sessionid的 cookie名称.位置5:(紫色区域), “.t2”是tomcat的session会话保持的一个相关方法, nginx通过这个标志来进行会话保持工作.2).检查n1服务器 tomcat的输出,如下图3).检查n2服务器的tomcat日志输出检查发现, n2服务器tomcat 有输出,说明有相关访问4) 检查n1服务器 nginx相关输出如下:说明n1服务器的 nginx没有被访问5)检查n2服务器的nginx相关访问14. 连续访问测试1). 在地址栏中输入/a.jsp?a=1 /a.jsp?a=2 /a.jsp?a=3 /a.jsp?a=4 /a.jsp?a=5 /a.jsp?a=6 /a.jsp?a=7 /a.jsp?a=8 /a.jsp?a=9 /a.jsp?a=10 /a.jsp?a=11 2)检查n1服务器的tomcat输出,如下3)检查n2服务器的tomcat输出,如下4)检查n1服务器nginx输出日志5)检查n2服务器的nginx日志输出15. 数据分析上面我们连续进行了10次以上相关jsp文件的访问.10次访问后, 在n1服务器上没有任何访问,10次访问中, 全部发送给 n2服务器的tomcat了10次访问, 有大约5次发送给 n1 服务器的nginx服务器10次访问, 有大约5次发送给 n2服务器的nginx服务器. 说明目前 session会话保持是生效了.。

Nginx规范手册

Nginx规范手册

Nginx规范⼿册Nginx系统架构理解⽹络拓扑结构3、掌握nginx+tomcat反向代理的使⽤⽅法。

4、掌握nginx作为负载均衡器的使⽤⽅法。

系统架构系统架构图⽹络拓扑图nginx介绍什么是nginxNginx是⼀款⾼性能的http服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器。

由俄罗斯的程序设计师IgorSysoev所开发,官⽅测试nginx能够⽀⽀撑5万并发链接,并且cpu、内存等资源消耗却⾮常低,运⾏⾮常稳定。

Nginx的应⽤场景http服务器。

Nginx是⼀个http服务可以独⽴提供http服务。

可以做⽹页静态服务器。

虚拟主机。

可以实现在⼀台服务器虚拟出多个⽹站。

例如个⼈⽹站使⽤的虚拟主机。

反向代理,负载均衡。

当⽹站的访问量达到⼀定程度后,单台服务器不能满⾜⽤户的请求时,需要⽤多台服务器集群可以使⽤nginx做反向代理。

并且多台服务器可以平均分担负载,不会因为某台服务器负载⾼宕机⽽某台服务器闲置的情况。

nginx安装下载进⼊/en/download.html下载nginx1.8.0版本(当前最新稳定版本)。

安装nginx安装环境nginx是C语⾔开发,建议在linux上运⾏,本教程使⽤Centos6.5作为安装环境。

gcc安装nginx需要先将官⽹下载的源码进⾏编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yuminstallgcc-c++PCREPCRE(PerlCompatibleRegularExpressions)是⼀个Perl库,包括perl兼容的正则表达式库。

nginx的http模块使⽤pcre来解析正则表达式,所以需要在linux上安装pcre库。

yuminstall-ypcrepcre-devel注:pcre-devel是使⽤pcre开发的⼀个⼆次开发库。

nginx也需要此库。

zlibzlib库提供了很多种压缩和解压缩的⽅式,nginx使⽤zlib对http包的内容进⾏gzip,所以需要在linux上安装zlib库。

nginx反向代理解决前后端分离HTTPS跨协议问题

nginx反向代理解决前后端分离HTTPS跨协议问题

nginx反向代理解决前后端分离HTTPS跨协议问题前后端分离项⽬往往需要配置到同⼀个服务器上,前端⼀般使⽤80端⼝;后端⾃定义这⾥⽤8080举例。

原先前端访问 **https://**后端接⼝ **:8080**⽬标前端访问 **https://**后端接⼝ **https://** 或 **https:///api**此时需要配置后端接⼝为Https,⾸先可以直接配置后端项⽬。

其次可以⽤Nginx反向代理实现⽬的。

server {listen 80;# 前端静态⽂件server_name ;# 将所有HTTP请求通过rewrite指令重定向到HTTPS。

rewrite ^/(.*) https://$server_name$request_uri? permanent;location / {root /xxx;index index.html index.htm;# 解决刷新页⾯变成404问题的代码try_files $uri $uri/ /index.html;# 将所有HTTP请求通过rewrite指令重定向到HTTPSrewrite ^(.*)$ https://$host$1;}location /api/ {proxy_pass http://127.0.0.1:8080;}}其次是SSL部分server {listen 443 ssl;# 配置HTTPS的默认访问端⼝为443。

# 如果未在此处配置HTTPS的默认访问端⼝,可能会造成Nginx⽆法启动。

# 如果您使⽤Nginx 1.15.0及以上版本,请使⽤listen 443 ssl代替listen 443和ssl on。

# 前台地址server_name ;# 前台路径root /xxx;index index.html index.htm;ssl on;# 前台证书ssl_certificate /xxx.pem;ssl_certificate_key /xxxx.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 表⽰使⽤的加密套件的类型。

Nginx反向代理多个服务器的实现方法

Nginx反向代理多个服务器的实现方法

Nginx反向代理多个服务器的实现⽅法Nginx反向代理多个服务器,意思是说,当我们发起了不同的请求到nginx,nginx会根据请求的不同,转发到不同的服务器,如下图,当我们通过8000端⼝访问资源a时,nginx会将请求转发到8080服务器,当访问资源b时,会转发到8081服务器我们先做下准备⼯作,⾸先准备两个tomcat服务器,分别是8080端⼝和8081端⼝,8080端⼝是默认的,这⾥进⾏修改8081的端⼝,⾸先我们进⼊tomcat下的conf⽬录下,进⼊server.xml⽂件进⾏如下两个地⽅的修改⼀、修改shutdown端⼝号为8015⼆、修改start端⼝号为8081这样我们就有了两个tomcat了,接下来我们启动⼀下这两个tomcat,看是否都能访问,如果不能访问,可能就是你防⽕墙的问题, systemctl stop firewalld ,这个命令可以关闭防⽕墙,如果还不能访问,可能是阿⾥云未打开端⼝的webapps⽬录下分别创建a⽬录和b⽬录,并创建index.html,⾥⾯分别写8080,8081,⽅便⼀会测试,这⾥给出资源a好了,接下来就是配置nginx了,进⼊到nginx的conf⽬录下打开nginx.conf⽂件,⼿动配置⼀个server块该server的意思是:listen 8000:监听8000端⼝,也就是我们直接访问的nginx端⼝server_name localhost:是域名location ~ /a/:是所有访问a资源的请求,会通过下⾯的代理转发http://39.106.231.3:8080;意思是代理转发到ip为39.106.231.3主机下的8080服务器配置好之后,在sbin⽬录下执⾏./nginx -s reload,重新加载配置⽂件访问:39.106.231.3:8000/a访问:39.106.231.3:8000/b到此这篇关于Nginx反向代理多个服务器的实现⽅法的⽂章就介绍到这了,更多相关Nginx反向代理服务器内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

Nginx反向代理流程

Nginx反向代理流程

Nginx反向代理流程 Nginx 反向代理流程 反向代理:使⽤代理服务器来接受internet上的连接请求,然后将请求转发给内部⽹络中的上游服务器,并将上游服务器得到的结果返回给请求连接的客户端,代理服务器对外表现就是⼀个web服务器。

Nginx就经常拿来做HTTP反向代理服务器。

Nginx具有强悍的⾼并发⾼负载能⼒,所以⼀般会作为前端服务器直接向客户端提供静态⽂件服务。

但是⼀些复杂、多变的业务不适合放Nginx上,⼀般会使⽤Apache、Tomcat等服务器来处理。

因此,Nginx⼀般会作为静态web服务器与反向代理服务器,将不适合⾃⼰处理的请求转发给上游服务器处理。

Nginx代理服务器处理过程:1.接受HTTP请求,将⽤户的请求(包括HTTP包体)完整的接受到Nginx服务器的磁盘或者内存中。

2.向上游服务器发起连接3.将缓存的客户端请求转发到上游服务器 Nginx的这种转发⽅式与Squid等代理服务器的处理⽅式不同,Squid是⼀边接收客户端请求,⼀边将请求转发到上游服务器。

相⽐之下,Nginx延长了⼀个请求处理的时间,并且增加了⽤于缓存请求内容的内存和磁盘空间。

但是Nginx有效的降低了上游服务器的负载,将压⼒放在了Nginx服务器上。

那么Nginx的这种机制是如何降低上游服务器的负载的呢?通常情况下,客户端与Nginx代理服务器⾛公⽹,代理服务器与上游服务器之间⾛内⽹。

如果⼀边接受客户端请求,⼀般将请求转发到上游服务器的话,上游服务器需要长时间的保存这个连接,增加上游服务器的并发压⼒。

但是如果是接受到完整请求之后,再转发给上游服务器的话,内⽹的速度更快,不需要那么长的时间保持连接,可以减低上游服务器的并发压⼒。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、Tomcat基本配置1.为Tomcat提供SysV脚本2.catalina 脚本讲解3.telnet 登录管理Tomcat4.配置Tomcat虚拟主机5.Tomcat图形管理接口6.部署JSP网站案例二、Nginx反向代理Tomcat服务器1.Nginx将请求反向代理到后端Tomcat2.Nginx将图片缓存到本地3.Nginx将请求实现动静分离注,实验环境说明,操作系统:CentOS 6.4 x86_64,软件版本:jdk-7u40、apache-tomcat-7.0.42、Nginx-1.4.2,博客中所用到的软件请到这里下载:/QGBCLwrZnpLMS。

一、Tomcat 基本配置1.为Tomcat提供SysV脚本注,在上一篇博文中我们已经演示安装了Tomcat,这里我们就不在演示,不清楚的博友可以参考这篇博文,/2033581/1299644,在上一篇博文中我们没有增加,SysV脚本,在这篇博文中我们来增加一下,下面我们就来具体演示一下。

[root@tomcat ~]# vim /etc/init.d/tomcat#!/bin/sh# Tomcat init script for Linux.## chkconfig: 2345 96 14# description: The Apache Tomcat servlet/JSP container.CATALINA_HOME=/usr/local/tomcat #注意你的脚本路径export CATALINA_HOME# export CATALINA_OPTS="-Xms128m -Xmx256m"exec $CATALINA_HOME/bin/catalina.sh $*下面我们来增加执行权限,并加入服务列表设置开机自启动,[root@tomcat ~]# chmod +x /etc/init.d/tomcat[root@tomcat ~]# chkconfig --add tomcat[root@tomcat ~]# chkconfig tomcat --listtomcat 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭下面我们来启动一下Tomcat并测试一下,[root@tomcat ~]# service tomcat startUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usrUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jar查看一下启动的端口号,[root@tomcat ~]# netstat -ntulpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Progra m nametcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1044/sshdtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1121/mastertcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 12988/sshdtcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 13053/sshdtcp 0 0 :::8080 :::* LISTEN 13088/javatcp 0 0 :::22 :::* LISTEN 1044/sshdtcp 0 0 ::1:25 :::* LISTEN 1121/mastertcp 0 0 ::1:6010 :::* LISTEN 12988/sshdtcp 0 0 ::1:6011 :::* LISTEN 13053/sshdtcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 13088/javatcp 0 0 :::8009 :::* LISTEN 13088/java用浏览器访问一下,好了,到这里Tomcat的SysV脚本增加完成,下面我们来说一下catalina脚本。

2.catalina 脚本讲解首先我们来查看一下这个脚本,[root@tomcat bin]# catalina.sh -hUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.7.0_40Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jarUsage: catalina.sh ( commands ... )commands:debug Start Catalina in a debuggerdebug -security Debug Catalina with a security managerjpda start Start Catalina under JPDA debuggerrun Start Catalina in the current windowrun -security Start in the current window with security managerstart Start Catalina in a separate windowstart -security Start in a separate window with security managerstop Stop Catalina, waiting up to 5 seconds for the process to endstop n Stop Catalina, waiting up to n seconds for the process to endstop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still ru nningstop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still r unningconfigtest Run a basic syntax check on server.xml - check exit code for result version What version of tomcat are you running?Note: Waiting for the process to end and use of the -force option require that $CA TALINA_PID is defined注,从帮助上来看,这个脚本使用还是挺简单的。

下面我们来说几个常用的选项,catalina.sh下面我们就来具体演示一下,[root@tomcat ~]# catalina.sh configtestUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.7.0_40Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jar九月 21, 2013 11:08:26 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: /usr/java/p ackages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib九月 21, 2013 11:08:27 下午 org.apache.coyote.AbstractProtocol init信息: Initializing ProtocolHandler ["http-bio-8080"]九月 21, 2013 11:08:27 下午 org.apache.coyote.AbstractProtocol init信息: Initializing ProtocolHandler ["ajp-bio-8009"]九月 21, 2013 11:08:27 下午 org.apache.catalina.startup.Catalina load信息: Initialization processed in 1269 ms注,使用configtest选项时,得关闭Tomcat,不然会报错。

启动Tomcat,[root@tomcat ~]# catalina.sh startUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.7.0_40Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jar关闭Tomcat,[root@tomcat ~]# catalina.sh stopUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.7.0_40Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jar查看Tomcat版本,[root@tomcat ~]# catalina.sh versionUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/java/jdk1.7.0_40Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/to mcat-juli.jarServer version: Apache Tomcat/7.0.42Server built: Jul 2 2013 08:57:41Server number: 7.0.42.0OS Name: LinuxOS Version: 2.6.32-358.el6.x86_64Architecture: amd64JVM Version: 1.7.0_40-b43JVM Vendor: Oracle Corporation好了,catalina脚本,我们就说到这里了,下面我们来说一下telnet管理Tomcat。

相关文档
最新文档