nginx百度网盘安装包:链接:https://pan.baidu.com/s/1zksefX1X0gJjBG1fu5qNGw 密码:68sz
什么是Nginx
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。开源、免费。
Nginx的应用场景
1、http服务器。Nginx是一个http服务,可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
Nginx安装
1、把nginx安装包上传到服务器。
2、解压缩
[root@bogon ~]# tar -zxf nginx-1.8.0.tar.gz
3、配置makefile,在命令行输入以下命令:
./configure
--prefix=/usr/local/nginx
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
[root@bogon nginx-1.8.0]# mkdir /var/temp/nginx -p
5、编译安装,输入以下命令:
make
make install
6、启动nginx
7、关闭
[root@bogon sbin]# ./nginx -s stop
8、重新加载配置文件
[root@bogon sbin]# ./nginx -s reload
9、关闭防火墙
1)关闭
[root@bogon sbin]# service iptables stop
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
2)也可以修改防火墙配置文件:
[root@bogon sbin]# vim /etc/sysconfig/iptables
修改后需要重启防火墙:
[root@bogon sbin]# service iptables restart
10、访问nginx服务
Nginx实现虚拟机
可以实现在同一台服务运行多个网站,而且网站之间互相不干扰。
同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。
区分不同的网站有三种方式:
1、ip区分
2、端口区分
3、域名区分
1、基于ip的虚拟主机
需要一台服务器绑定多个ip地址。
方法一(系统重启后会失效):
使用标准的网络配置工具(比如ifconfig和route命令)添加lP别名:
当前ip配置情况:
在eth0网卡再绑定一个ip:192.168.101.103
/sbin/ifconfig eth0:1 192.168.101.103 broadcast 192.168.101.255 netmask 255.255.255.0 up
/sbin/route add -host 192.168.101.103 dev eth0:1
方法二(永久修改,推荐):
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.103
其他项不用修改
2、重启系统:reboot
配置nginx基于ip地址的虚拟主机
基于ip的虚拟主机配置(配置多个server,把server_name修改为虚拟的ip地址):
修改Nginx的原始配置文件:
复制Nginx安装目录下的html文件夹,并将其中的index.html稍作修改:
重启Nginx服务即可。
2、基于端口的虚拟主机
修改Nginx的原始配置文件:
复制Nginx安装目录下的html文件夹,并将其中的index.html稍作修改:
重启nginx服务即可。
3、基于域名的虚拟主机(推荐)
最有用的虚拟主机配置方式。一个域名只能绑定一个ip地址,一个ip地址可以被多个域名绑定。
修改window的hosts文件:(C:\Windows\System32\drivers\etc)或者使用SwitchHosts软件(代替dns解析):
修改Nginx的原始配置文件:
复制Nginx安装目录下的html文件夹,并将其中的index.html稍作修改:
重启nginx服务即可。
Nginx反向代理
Nginx只做请求的转发,后台有多个http服务器提供服务,nginx的功能就是把请求转发给后面的服务器,决定把请求转发给谁。
在一个虚拟机上创建两个tomcat实例,模拟多个服务器。
通过访问不同的域名访问运行在不同端口的tomcat
8080.wzf.com 访问运行8080端口的tomcat
8081.wzf.com 访问运行8081端口的tomcat
1、域名需要配置host文件:
2、安装两个tomcat,它们的端口号分别为8080、8081,并修改相应的index.jsp加以区分。
3、Nginx的配置
修改Nginx的原始配置文件:
4、分别启动2个tomcat和nginx服务后,即可看到效果:
Nginx负载均衡
什么是负载均衡
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
如果在同一个域名下有多台服务器提供服务,此时需要nginx负载均衡。
配置Nginx负载均衡
nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。
nginx负载均衡服务器:10.10.1.146
tomcat1服务器:10.10.1.146:8080
tomcat2服务器:10.10.1.146:8081
启动2个tomcat和nginx服务后即可看到效果: