一. 在安装Nginx之前我们来了解一下什么是Nginx,Nginx的用途及使用场景:
介绍:
Nginx 是一个高性能的HTTP和反向代理服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
使用场景:
1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
反向代理: 正向代理代理客户端,反向代理代理服务器
Nginx Linux详细安装部署教程 https://www.cnblogs.com/taiyonghai/p/6728707.html
nginx多tomcat负载均衡 https://www.cnblogs.com/sunshine-2015/p/5638524.html
二. Nginx安装环境:
由于nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境。
1. 下载gcc:
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc,命令为:yum install gcc-c++
2.下载PCRE:
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。命令为:um install -y pcre pcre-devel
ps:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
3.下载zlib:
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。命令为:yum install -y zlib zlib-devel
4.下载openssl:
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。命令为:yum install -y openssl openssl-devel
三. 编译安装:
1. 将Nginx的压缩包放到Linux服务器中的 /usr/local 目录下。然后解压Nginx压缩包,
解压:
tar -zxvf nginx-1.8.1.tar.gz (注意名字是否正确版本号是否与自己的一致)
(特别说明:
解压后的文件夹名为nginx-1.xx.xx
如果修改了文件夹的名字(例如nginx),后续继续进行编译-安装-启动
就会在当前nginx文件夹下生成sbin文件夹,内部会有启动命令
执行./sbin/nginx命令启动nginx时会报错,提示没有logs/error.log及access.log文件
如果解压后没有修改名字,例如名字还是nginx-1.xx.xx,
进入nginx-1.xx.xx文件夹下执行,编译-安装
会在与nginx-1.xx.xx同级位置创建一个名为[nginx]的文件夹.在该文件夹内部有
logs,sbin等目录,进入sbin直接即可启动。
)
四. 编译:
1. 到Nginx的目录下:
2. 执行命令编译:
./configure
五. 安装:
4. 在Nginx目录下执行以下命令:
make
make install
安装之后查看目录:
六. 启动Nginx:
1. 先到 /nginx/sbin目录下;
2. 启动:
./nginx
ps:此刻运行会报错,看下面解决即可
按照如下方法解决:
在对应的位置创建/logs/error.log access.log
重现启动即可:
查询Nginx进程(在nginx目录下):
ps -aux | grep nginx
注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(–conf-path= 指向配置文件(nginx.conf))
浏览器访问nginx首页-查看是否启动
防火墙关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动
地址栏填写:192.168.8.19:80
其中192.168.8.19是虚拟机ip地址,这里是我的。
nginx默认的端口号是80
访问成功的效果如下: