配置jdk
1.下载并解压tar包
2.配置环境变量
vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/jdk安装目录
export PATH=$PATH:$JAVA_HOME/bin
3.刷新环境变量
source /etc/profile
4.测试是否成功:
java -version
会显示出版本号
安装Nginx
-
Nginx 安装包
Linux 版 安装包:nginx-1.12.0.tar.gz
下载地址: http://nginx.org/en/download.html -
服务器环境
CentOS 6.4 64 位
安装 c++编译环境( yum install gcc-c++)
下载地址: GraphicsMagick -
安装配置步骤
安装模块依赖库
pcre 库(rewrite)
yum install pcre* 或者 pcre-8.32.tar.gz 下载地址: http://www.pcre.org/
openssl 库(ssl)
yum install openssl* 或者 openssl-fips-2.0.16.tar.gz 下载地址: http://www.openssl.org/
zlib 库(gzip)
yum install zlib*或者 zlib-1.2.11.tar.gz
下载地址:http://www.zlib.net/ -
安装 Nginx
进入Nginx安装目录
./configure --prefix=/usr/local/nginx
make编译 make install安装 -
开放 80 端口
vim /etc/sysconfig/iptables -
service iptables restart #最后重启防火墙使配置生效
-
启动 Nginx
命令:usr/local/nginx/sbin/nginx
出错:/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory(找不到这个版本库,软连接一下)
解决:在解压后的nginx文件里输入命令
ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1
访问 Nginx http://服务器 IP -
启动:Nginx安装目录/sbin/nginx
停止:Nginx安装目录/sbin/nginx -s stop
重启:Nginx安装目录/sbin/nginx –s reload -
反向代理
1.先创建两个tomcat文件,
解压tomcat tar包,
为了避免端口被占用,无法启动tomcat
修改tomcat conf/server.xml
把8080改为8081 把8443改为8444
2.修改nginx中的conf/nginx.conf文件:
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://itripbiz_server;
}
在server之外加上
upstream itripbiz_server {
server 127.0.0.1:8081;
} -
负载均衡
修改nginx中的conf/nginx.conf文件
在server之外加上
upstream itripbiz_server {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
Nginx简介
1.什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2.为什么要使用Nginx?
在传统的Web项目中,用户少并发量小。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回用户消息。当然,为了解决并发,可以使用负载均衡,也就是我们多增加几个tomcat服务器。当用户访问时,请求可以提交到空闲的tomcat服务器上。但是在同一节点上tomcat服务器端口不能重复,使得前端访问后台服务器时不断更换端口号,这样使得前端访问过程十分繁琐。这个时候我们就需要Nginx来做代理服务器,所有的请求都会经过Nginx代理服务器,由Nginx代理服务器发送请求到空闲的tomcat服务器上,且将从tomcat服务器的资源转发回客户端。
3.Nginx的优点
- 支持高并发
- 内存消耗少
- 成本低廉
- 配置文件简单
- 支持Rewrite重写
- 内置的健康检测功能
- 节省带宽
- 稳定性高
- 支持热部署
4.代理
在Java设计模式中,代理模式是这样定义的:给某个对象提供一个代理对象,并由代理对象控制原对象的引用。
可能大家不太明白这句话,在举一个现实生活中的例子:比如我们要买一间二手房,虽然我们可以自己去找房源,但是这太花费时间精力了,而且房屋质量检测以及房屋过户等一系列手续也都得我们去办,再说现在这个社会,等我们找到房源,说不定房子都已经涨价了,那么怎么办呢?最简单快捷的方法就是找二手房中介公司(为什么?别人那里房源多啊),于是我们就委托中介公司来给我找合适的房子,以及后续的质量检测过户等操作,我们只需要选好自己想要的房子,然后交钱就行了。
5.什么是正向代理
弄清楚什么是代理了,那么什么又是正向代理呢?
这里我再举一个例子:大家都知道,现在国内是访问不了 Google的,那么怎么才能访问 Google呢?我们又想,美国人不是能访问 Google吗(这不废话,Google就是美国的),如果我们电脑的对外公网 IP 地址能变成美国的 IP 地址,那不就可以访问 Google了。你很聪明,VPN 就是这样产生的。我们在访问 Google 时,先连上 VPN 服务器将我们的 IP 地址变成美国的 IP 地址,然后就可以顺利的访问了。
这里的 VPN 就是做正向代理的。正向代理服务器位于客户端和服务器之间,为了向服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。这里客户端是要进行一些正向代理的设置的。
6.什么是反向代理
反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
7.负载均衡
负载均衡就是将本应该在本台服务器上处理的请求,根据一定的算法,平均的分配到其它的服务器上去处理,这样可以大大减少这台服务器的压力,防止压力负载太大而造成的响应超时或宕机的发生