nginx安装及部署
1.centos6.7 安装完毕后无法连接网络。
检查vmware DHCP与NAT服务是否启动,启动后 ifconfig 查询ip地址。ping www.baidu.com测试能否连接。
2.nginx安装步骤
1、需要安装gcc的环境。yum install gcc-c++
2、第三方的开发包。
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
3、安装
第一步:把nginx的源码包上传到linux系统
第二步:解压缩
[root@localhost ~]# tar zxf nginx-1.8.0.tar.gz
第三步:使用configure命令创建一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
第四步:make
第五步:make install
4.启动nginx
进入sbin目录
[root@localhost sbin]# ./nginx
默认端口80,若启动不成功,有可能80端口已经被占用, lsof -i :80
杀死占用80端口的进程,kill -9 [pid]
重启nginx, ./nginx
重新访问地址测试,是否访问成功。若服务无响应,则有可能是防火墙拦截的问题。
修改防火墙配置文件,在reject前插入一行 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
保存即可。
重启防火墙 /etc/init.d/iptables restart
再访问测试。成功
关闭nginx命令 sbin/nginx -s quit
不关机的情况下刷新配置文件 sbin/nginx -s reload
nginx配置虚拟主机
conf 配置文件 sbin可执行文件 html 存放初始页面
在nginx目录下conf文件夹下,配置nginx.conf.
在nginx中每加一个server节点就相当于新建一个服务或网站
nginx的反向代理
假设天猫和淘宝的域名对应着一个ip ,例如 www.tmall.com 和 www.taobao.com 都对应于 192.168.226.129
实际上这个ip就是nginx服务器的ip,nginx的nginx.conf配置文件下配置两个server节点
例如
upstream tomcat7-one{
server 192.168.226.129:8080;
}
server {
listen 80;
server_name www.tmall.com;
location / {
proxy_pass http://tomcat7-one;
index index.html index.htm;
}
}
upstream tomcat7-two{
server 192.168.226.129:8081;
}
server {
listen 80;
server_name www.taobao.com;
location / {
proxy_pass http://tomcat7-two;
index index.html index.htm;
}
}
那么,当我们访问www.tmall.com时,请求就会经过nginx服务器,由它来根据nginx.conf中的配置,找到相应的服务如8081端口下的tomcat去转发请求,这就是nginx的反向代理。
nginx实现负载均衡
当启动两台tomcat服务器时,为了实现负载均衡,将tomcat的路径添加到upstream结点下为一个server结点,就可以了。当请求进入nginx,nginx为采用轮询的方式将请求转发给两台服务器的其中一个。通过在server结点后添加weight可以控制访问的权重。weight越高访问频率越高。
nginx的高可用
keepalived+nginx实现主备