一 初识 Nginx
1. Nginx 是一个使用纯 c 语言开发的高性能的 HTTP 服务器以及反向代理服务器,也是一个 SMTP 代理服务器,并在一个 BSD-like 协议下发行。由俄罗斯程序设计师 lgor Sysoev 开发,供俄国大型的入口网站及搜索引擎 Rambler 使用。其特点是占用内存小,并发能力强(能支持高达 50000 个并发连接数的响应,Tomcate 支持500左右的并发连接数),我们国家使用 Nginx 的网站有:百度、京东、新浪、网易、腾讯、淘宝等。
2. Nginx 是一个安装非常简单、配置文件非常简洁、Bug 非常少的服务器。Nginx 启动特别容易,并且可以做到 7*24 不间断运行,即使数个月也不需要重新启动,还能在不间断服务的情况下进行软件版本升级。
二 Nginx 应用场景
1. http 服务器:Nginx 是一个 http 服务器可以独立提供 http 服务,可以做网页静态服务器。
2. 虚拟主机:可以实现一台服务器上虚拟出多个网站,例如个人网站使用的虚拟主机。
3. 反向代理,负载均衡:当一个网站访问量达到一定程度获,单台服务器不能满足用户的请求时,需要使用多台服务器集群,可以使用 Nginx 做反向代理,并且多台服务器可以平均分担负载,不会出现某台服务器负载高宕机而某台服务器闲置的情况
三 Nginx 安装
1. 在 Windows 下我们需要借助 Linux 系统来安装 Nginx ,需要使用 Vmware 12 创建虚拟机。关于如何安装最小化虚拟机,大家可以参考 https://blog.youkuaiyun.com/weixin_39453325/article/details/82936158 这篇博客。
2. 为虚拟机配置静态IP实现能连接网络且和 Windows 主机 ping 通,至于如何实现静态IP上网且 ping 通 Windows 主机,大家可以参考 https://blog.youkuaiyun.com/weixin_39453325/article/details/82938275 这篇博客。
3. 我们需要把 Windows 环境下的 Nginx 所需安装包(可以在 https://download.youkuaiyun.com/download/weixin_39453325/10702732 下载)上传到虚拟机中的 /usr/local/software 目录下,这里使用的是 SecureCRT 的 SFTP 工具来实现的,至于如何实现文件传输,大家可以参考 https://blog.youkuaiyun.com/weixin_39453325/article/details/82940750 这篇博客。
4. 通过SecureCRT 的 SFTP 上传 nginx 安装所需要的安装包 nginx-1.6.2.tar.gz 到 /usr/local/software 目录下。
5. 解压 nginx-1.6.2.tar.gz 到 /usr/local 目录下。
6. 安装依赖。Nginx 的 http 模块需使用 pcre 来解析正则表达式,所以需要在 Linux 上安装 pcre 库。pcre-devel 是使用 pcre 开发的一个二次库,Nginx 也需要此库。zlib 库提供多种压缩方式,Nginx 使用 zlib 对 http 包的内容进行 gzip,所以需要安装 zlib 库。openssl 是一个强大的安全套接字层密码库,包括密码算法、常用的密钥和证书封装装管理功能及 SSL 协议,并提供丰富的应用程序提供测试或其他目的的使用。Nginx 不仅支持 http 协议,还支持 https (在 ssl 协议上传输 http ),所以需要安装 openssl 库。
[root@cwxiong software]# yum install -y pcre pcre-devel
[root@cwxiong software]# yum install -y zlib zlib-devel
[root@cwxiong software]# yum install -y openssl openssl-devel
若需要卸载 yum 安装的依赖,则可以通过如下的命令实现卸载(如下卸载的是安装好的 wget ==>下载文件工具)。
[root@cwxiong nginx-1.6.2]# yum remove wget
7. 进入到 nginx-1.6.2 目录下执行 ./configure 命令进行配置并指定路径为 /usr/local/nginx 。配置未出现错误时,出现如下图所示界面。
[root@cwxiong local]# cd nginx-1.6.2/
[root@cwxiong nginx-1.6.2]# ./configure --prefix=/usr/local/nginx
8. 编译安装,安装成功后出现如下图所示界面。
[root@cwxiong nginx-1.6.2]# make && make install
9. 启动 Nginx ,出现如下图所示信息,则说明启动成功。
如需关闭 Nginx ,可以使用如下命令:
[root@cwxiong nginx-1.6.2]# /usr/local/nginx/sbin/nginx -s stop
如需热启动 Nginx ,可以使用如下命令:
[root@cwxiong nginx-1.6.2]# /usr/local/nginx/sbin/nginx -s reload
10. Nginx 默认端口是 80 ,我们需在防火墙配置中添加 80 端口,允许外界访问 80 端口,如下图所示。
[root@cwxiong nginx-1.6.2]# vi /etc/sysconfig/iptables
11. 添加完成后,重启防火墙。
12. 访问 Nginx 欢迎页。在浏览器地址栏中输入:http://192.168.20.88/ (80端口号可以省略) 或者 http://192.168.20.88:80/ ,按回车键后,出现如下所示欢迎界面。
至此,我们已经成功安装了 Nginx!