nginx安装实施.docx
- 文档编号:13069306
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:9
- 大小:121.06KB
nginx安装实施.docx
《nginx安装实施.docx》由会员分享,可在线阅读,更多相关《nginx安装实施.docx(9页珍藏版)》请在冰点文库上搜索。
nginx安装实施
nginx安装实施
目录
一.什么是Nginx?
2
二.Nginx的安装2
1.下载Nginx相关软件包2
2.nginx安装3
(1).安装openssl-fips-2.0.9.tar.gz3
(2).安装zlib-1.2.7.tar.gz3
(3).安装pcre-8.21.tar.gz4
(4).安装nginx-1.2.6.tar.gz4
三:
检测是否安装成功4
四.Nignxtcp模块安装5
1.nginx_tcp_proxy_module特性5
2.nginx-tcp-module安装6
3、tcp配制负载均衡访问mysql集群服务7
五、Nignx健康检测模块安装9
1.为何需要健康检测9
2.参数配制说明10
六.Nginx常用操作和问题解决10
1.nginx常用操作命令10
2.版本冲突11
3. 编译安装权限不够12
一.什么是Nginx?
Nginx是一个高性能的 HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx是Apache服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:
新浪、网易、腾讯,另外知名的微网志Plurk也使用nginx。
Nginx作为负载均衡服务器,既可以在内部直接支持Rails和 PHP程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。
Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好很多。
Nginx 是一个安装简单,配置文件非常简洁(还能够支持perl语法),Bugs非常少的服务器,Nginx启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。
你还能够不间断服务的情况下进行软件版本的升级。
二.Nginx的安装
1.下载Nginx相关软件包
(1)gzip模块需要zlib 库(下载:
)
(2)rewrite模块需要pcre库 (下载:
http:
//www.pcre.org/ )
(3)ssl功能需要openssl库(下载:
http:
//www.openssl.org/ )
(4).Nginx包下载:
http:
//nginx.org/en/download.html
软件如下:
openssl-fips-2.0.2.tar.gz
zlib-1.2.7.tar.gz
pcre-8.21.tar.gz
nginx-1.4.7.tar.gz
2.nginx安装
依赖包安装顺序依次为:
openssl、zlib、pcre,然后安装Nginx包.
(1).安装openssl-fips-2.0.9.tar.gz
[root@vm-vmw5023-wasvm]#tar-zxvfopenssl-fips-2.0.9.tar.gz
[root@vm-vmw5023-wasvm]#cdopenssl-fips-2.0.2
[root@vm-vmw5023-wasopenssl-fips-2.0.2]#./config
[root@vm-vmw5023-wasopenssl-fips-2.0.2]#make
[root@vm-vmw5023-wasopenssl-fips-2.0.2]#makeinstall
注:
如果系统本身安装有openssl-fips可以不另行安装,本例操作中我用的就是系统本身的OpenSSL
0.9.8e-fips-rhel5版本,用opensslversion命令可查看系统是否已安装此依赖库
(2).安装zlib-1.2.7.tar.gz
[root@vm-vmw5023-wasvm]#tar-zxvfzlib-1.2.7.tar.gz
[root@vm-vmw5023-wasvm]#cdzlib-1.2.7
[root@vm-vmw5023-waszlib-1.2.7]#./configure
[root@vm-vmw5023-waszlib-1.2.7]#make
[root@vm-vmw5023-waszlib-1.2.7]#makeinstall
(3).安装pcre-8.21.tar.gz
[root@vm-vmw5023-wasvm]#tar-zxvfpcre-8.21.tar.gz
[root@vm-vmw5023-wasvm]#cdpcre-8.21
[root@vm-vmw5023-waspcre-8.21]#./configure
[root@vm-vmw5023-waspcre-8.21]#make
[root@vm-vmw5023-waspcre-8.21]#makeinstall
(4).安装nginx-1.2.6.tar.gz
[root@vm-vmw5023-wasvm]#tar-zxvfnginx-1.2.6.tar.gz
[root@vm-vmw5023-wasvm]#cdnginx-1.2.6
[root@vm-vmw5023-wasnginx-1.2.6]#./configure--with-pcre=../pcre-8.21--with-
zlib=../zlib-1.2.7--with-openssl=../openssl-fips-2.0.2
[root@vm-vmw5023-wasnginx-1.2.6]#make
[root@vm-vmw5023-wasnginx-1.2.6]#makeinstall
至此Nginx的安装完成!
三.检测是否安装成功
安装完nginx后,此时如果不修改安装目录的情况下,在/usr/local/nginx/conf目录下会有一个nginx.conf文件,此文件就是nginx的核心配制文件,默认文件监听的是本机的80端口,启动服务操作:
[root@vm-vmw5023-wasnginx-1.2.6]#cd/usr/local/nginx/sbin
[root@vm-vmw5023-wassbin]#./nginx-t
出现如下所示提示,表示安装成功
启动nginx,访问本机80端口就会出现欢迎页面
[root@vm-vmw5023-wassbin]#./nginx
四.Nignxtcp模块安装
1.nginx_tcp_proxy_module特性
由于nginx本身是不具备tcp模块的,默认只支持http协议,然而mysql是通过tcp进行连接的,因此为了实现此功能必须添加nginx-tcp模块
2.nginx-tcp-module安装
(1)下载nginx_tcp_proxy_module-master.zip软件包。
(2)查看原本nginx安装参数命令:
nginx-V
configurearguments:
--add-module=nginx_tcp_proxy_module-master--with-pcre=prc/pcre-8.21--with-zlib=zlib-1.2.7
(3)安装:
进入到nginx安装包目录,将nginx_tcp_proxy_module-master拷贝到此目录下结构如:
在命令行执行如下操作:
(主要是用add将tcp模块添加到已安装的nginx中)
[root@vm-vmw5023-wasnginx-1.4.7]#./configure--add-module=nginx_tcp_proxy_module-master--with-pcre=prc/pcre-8.21--with-zlib=zlib-1.2.7--add-module=nginx_tcp_proxy_module-master
[root@vm-vmw5023-wasnginx-1.4.7]#make
只要make就可以了,千万别makeinstall,否则就覆盖安装了
make完之后在objs目录下就多了个nginx,这个就是新版本的程序了
备份旧的nginx程序:
cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak
把新的nginx程序覆盖旧的cpobjs/nginx/usr/local/nginx/sbin/nginx
3.tcp配制负载均衡访问mysql集群服务
命令./nginx-t测试新的nginx程序是否正确,如果没有问题则配制nginx.conf将tcp模块加入进行测试,本处结合上文中mysql集群进行配制,配制文件如下:
#usernobody;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
events{
worker_connections1024;
}
tcp{
upstreammssql{
server10.6.154.42:
3306;(mysql集群服务器)
server10.6.154.43:
3306;(mysql集群服务器)
checkinterval=3000rise=2fall=5timeout=1000;
}
server{
listen80;(监听本机80端口)
server_name10.6.154.42;(对外访问地址)
proxy_passmssql;(转向负载实际服务)
}
}
配制完毕后,重新启动nginx,如果启动成功,就说明服务已成功部署,本机测试:
利用mysql客户端访问10.6.154.42的80端口,经测试成功实现mysql集群的访问,并且可以实现10.6.154.42和10.6.154.43mysql的均衡调用。
五.Nignx健康检测模块安装
1.为何需要健康检测
大家都知道,nginx做反代,如果后端服务器宕掉的话,nginx是不能把这台realserver提出upstream的,所以还会有请求转发到后端的这台realserver上面去,虽然nginx可以在localtion中启用proxy_next_upstream来解决返回给用户的错误页面,但这个还是会把请求转发给这台服务器的,然后再转发给别的服务器,这样就浪费了一次转发,这次借助与淘宝技术团队开发的nginx模快nginx_upstream_check_module来检测后方realserver的健康状态,如果后端服务器不可用,则所有的请求不转发到这台服务器。
首先去这里下载nginx的模块
向nginx添加模块的方法这里已不在赘述,同上面添加TCP模块方法一样。
2.参数配制说明
在配制文件中会有如下参数设置:
interval检测间隔时间,单位为毫秒,rsie请求2次正常的话,标记此realserver的状态为up,fall表示请求5次都失败的情况下,标记此realserver的状态为down,timeout为超时时间,单位为毫秒。
六.Nginx常用操作和问题解决
1.nginx常用操作命令
以下操作都在cd/usr/local/nginx/sbin下操作:
启动:
/nginx
查询nginx主进程号:
ps-ef|grepnginx
从容停止kill-QUIT主进程号
快速停止kill-TERM主进程号
强制停止:
pkill-9nginx
2.版本冲突
如果安装过程中出现nginx依赖库版本冲突问题,如:
TransactionCheckError:
file/etc/pki/tls/certs/ca-bundle.crtfrominstallofopenssl-0.9.8e-27.el5_10.4.i686conflictswithfilefrompackageopenssl-0.9.8e-22.el5.x86_64
file/usr/share/man/man1/ca.1ssl.gzfrominstallofopenssl-0.9.8e-27.el5_10.4.i686conflictswithfilefrompackageopenssl-0.9.8e-22.el5.x86_64
file/usr/share/man/man1/req.1ssl.gzfrominstallofopenssl-0.9.8e-27.el5_10.4.i686conflictswithfilefrompackageopenssl-0.9.8e-22.el5.x86_64
file/usr/share/man/man1/x509.1ssl.gzfrominstallofopenssl-0.9.8e-27.el5_10.4.i686conflictswithfilefrompackageopenssl-0.9.8e-22.el5.x86_64
解决办法:
删除以前旧版本,命令:
rpm-eopenssl-0.9.8e-22.el5.x86_64--nodeps
卸载后再重新安装,所有依赖库出现此冲突问题都可按此方法解决。
3.编译安装权限不够
./configurebash:
./configure:
权限不够
解决:
赋予权限命令:
chmod+xconfigure
七.总结
本文件实际操作nginx安装部署后,结合mysql集群进行配制成功实现负载均衡,达到很好的调度效果,nginx本身占用内存非常小,性能很高,连接稳定,是作为调度器的优选工具。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- nginx 安装 实施