什么是Nginx
Nginx是一个http服务器。
是一个使用c语言开发的高性能的http服务器及反向代理服务器。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
为什么使用Nginx
1、nginx用作反向代理服务器
在传统web服务中,由于用户少,并发量也低,所以用户一般请求直接落到tomcat中(或者jboss、jetty等web容器),为了解决用户多,并发量大的场景,则需要多台服务器进行集群,此时需要使用nginx来进行反向代理和负载均衡。
2、nginx用作静态资源服务器
通过nginx做静态资源服务器,来减少tomcat作为应用服务器的压力,tomcat用于处理业务请求,静态资源请求让nginx处理,而且nginx做静态资源服务器性能也是非常好的,只需通过nginx映射到静态资源目录。
Nginx安装
以下以centos7.2为例
1、确认网络:ping www.baidu.com
2、确认yum可用: yum list|grep gcc
3、关闭iptables:
iptables -L
iptables -F(关闭)
iptables -t nat -L(查看有没有规则)
iptables -t nat -F
4、关闭SELinux
getenforce(确认是否关闭)
setenforce 0(临时关闭)
vi /etc/sysconfig/selinux
SELINUX=disabled(永久关闭)
5、去官网http://nginx.org/下载最新的nginx包,并上传到linux中
6、安装依赖环境
6.1、安装gcc环境
yum install gcc-c++
6.2、安装PCRE库,用于解析正则表达式
yum install -y pcre pcre-devel
6.3、zlib压缩和解压缩依赖
yum install -y zlib zlib-devel
6.4、SSL安全的加密的套接字协议层,用于HTTP安全传输,也就是https
yum install -y openssl openssl-devel
7、解压nginx包
tar -zxvf nginx-1.16.1.tar.gz
8、编译前先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir /var/temp/nginx -p
9、进入nginx源码目录,输入以下命令进行配置,目的是创建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
10、进入nginx源码目录进行make编译
make
11、进入nginx源码目录进行安装
make install
12、进入sbin目录启动nginx
./nginx
问题
假如是在虚拟机中进行学习,当重启虚拟机后启动nginx有可能会出现以下问题:
nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
提示信息说明在 /var/run/nginx/ 目录下找不到 nginx.pid 文件,解决方式有两种:
第一种方式:创建默认目录 /var/run/nginx/ ;
第二种方式:修改 nginx.conf 文件,指定 pid文件 所在目录(如下图);
来源:CSDN
作者:EarthXuan
链接:https://blog.csdn.net/qq_27185561/article/details/104244176