1.介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
2.优势
Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:
- 在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型
- Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多
- 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲
- 无缓存的反向代理加速,简单的负载均衡和容错
- FastCGI,简单的负载均衡和容错
- 模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待
- 支持 SSL和 TLSSNI
- Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级
3.代理服务器
作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验
4.虚拟机Linux安装
1.下载Nginx
打开nginx官网下载
or
百度云下载(链接: https://pan.baidu.com/s/15ZBqdvH4CK8Ex0dGDr2puQ 提取码: 4nb9)
2.上传虚拟机(以nginx-1.17.5.tar.gz例子)
使用客户端将刚下载好的nginx-1.17.5.tar.gz文件上传到home目录下(目录可自行选择)
3.解压安装包
tar -zxvf nginx-1.17.5.tar.gz
4.进入解压文件夹
cd nginx-1.17.5
5.安装环境依赖
yum -y install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
‐y表示所有提示默认选择y
6.编译并安装
./configure
make
make install
安装后在/usr/local下就会有一个nginx目录
7.启动Nginx
cd /usr/local/nginx/sbin
启动
./nginx
停止
./nginx -s stop
重启
./nginx -s reload
8.查看服务器状态
ps -ef | grep nginx
-
9.测试Nginx服务是否成功启动
http://ip地址:80 (本机可直接http://localhost:80)
9.问题
如果出现虚拟机可访问Nginx服务器成功,而本地浏览器出现无法访问!如下:
此问题是由于虚拟机的Firewall问题未提供对外的访问端口号,而且关闭Firewall是不明智的选择,这种情况下可以进行下列操作解决:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd命令
下载:yum install firewalld
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalldz
查看开放端口号列表:firewall-cmd --list-ports
添加端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
网友评论