Linux下nginx环境搭建及详解

1.1 什么是nginx

nginx (engine x)是一个可以作为HTTP WEB服务器、反向代理服务器、邮件代理服务器和一个通用的TCP /
UDP代理服务器(1.9.0版本后)的多功能架构组件,同时也可以提供一定的缓存服务功能。

Nginx是一个高性能web服务。应用场景:1、web服务2、正反向代理3、API(lua)

1、 WEB服务器:这是应用比较多的场景,配置虚拟主机提供HTTP
WEB服务。可以先通过动态/静态内容分离,而后为静态内容(html/css/js/图片等)提供HTTP访问功能;而动态内容可以整合代理模块,代理给上游服务器,来支持对外部程序的直接调用或者解析,如FastCGI支持PHP。
2、 反向代理服务器:这是应用非常多的场景,为后端服务器代理。接收客户端请求,根据负载均衡策略转发给后端多个上游服务器处理;然后再等待后端服务器返回请求响应,接收到后再返回给请求的客户端。

1.2 Nginx和apache的区别

Apache全称是apache http server,它是apache软件基金会的一个开源的网页伺服服务器软件。

Apache支持多模块,可以解析静态页面也可以解析动态页面。 扩展:静态页面有html、图片等,但是可以通过扩展脚本、模块来支持动态页面。

静态页面:不需要编程解析的。Html,javascript

动态页面:就需要进行解析的页面。Jsp,php。每个用户提交的请求不一样结果就不一样。

Nginx也是一款开源的http server,它是由俄罗斯人编写的轻量级的http服务。
但是nginx本身不支持生成动态页面,所以更多的是使用nginx来做反向代理和负载均衡。

Nginx使用异步非阻塞型的事件驱动的方法来处理请求的,而apache是通过同步阻塞型的方法来处理请求的。

Apache是一个进程处理一个请求,默认最高是256进程 Nginx是由一个master进程和多个worker进程组成

1.3 Nginx源码编译安装
安装依赖

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

依赖包详解可参考:依赖包参考资料

下载源码包

wget http://nginx.org/download/nginx-1.14.0.tar.gz

解压

[root@localhost nginx-1.16.1]# tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/

进入解压目录

[root@localhost nginx-1.16.1]# cd /usr/local/nginx-1.16.1

创建用户和用户组

[root@localhost nginx-1.16.1]# groupadd nginx
[root@localhost nginx-1.16.1]# useradd -g nginx nginx

编译

[root@localhost nginx-1.16.1]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-stream --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-threads

查看是否安装成功echo $?输出0为安装成功

 echo $?
0

安装

[root@localhost nginx-1.16.1]# make && make install

Linux下nginx环境搭建及详解_第1张图片
启动文件路径再你编译的时候生产的目录下

/usr/local/nginx/sbin
在这里插入图片描述
查询安装版本

[root@localhost sbin]# /usr/local/nginx/sbin/nginx -V

Linux下nginx环境搭建及详解_第2张图片
检测配置文件是否正确(一般修改完毕配置文件需要检测下是否配置正确)

[root@localhost sbin]# /usr/local/nginx/sbin/nginx -t

在这里插入图片描述
启动nginx服务并查看进程

[root@localhost sbin]# /usr/local/nginx/sbin/nginx
[root@localhost sbin]# ps -ef | grep nginx

在这里插入图片描述
停止服务运行

[root@localhost sbin]# /usr/local/nginx/sbin/nginx -s stop

在这里插入图片描述
重载(修改完配置文件,不关闭nginx服务,只重新加载配置文件)

[root@localhost sbin]# /usr/local/nginx/sbin/nginx -s reload

Linux下nginx环境搭建及详解_第3张图片
Nginx 配置默认配置路径

Nginx的主配置文件路径:
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

Nginx日志文件路径:
[root@localhost ~]# cd /usr/local/nginx/logs/
Nginx前端代码路径:
[root@localhost ~]# cd /usr/local/nginx/html/

页面测试(nginx页面开启的是80端口)
首先要关闭防火墙和selinux

[root@localhost sbin]# systemctl stop firewalld;setenforce 0

访问nginx下默认页面
http://192.168.1.110/
Linux下nginx环境搭建及详解_第4张图片

注意:如果是普通用户进行安装,在编译的时候需要针指定编译安装路径

进入nginx安装目录nginx-1.16.1
修改configure 文件中的NGX_PREFIX,自动普通用户安装的路径

 NGX_PREFIX=${NGX_PREFIX:-/home/wuyue/nginx}

普通用户路径:–prefix=/home/wuyue/nginx,然后进行编译

./configure --user=nginx --group=nginx --prefix=/home/wuyue/nginx --with-stream --with-http_ssl_module --without-http_rewrite_module --with-http_realip_module --with-threads

安装

 make && make install

1.4 Nginx配置详解

  1. 清除浏览器缓存配置

expires 1h;一小时清理一次浏览器缓存
expires 1d;一天清理一次
Linux下nginx环境搭建及详解_第5张图片

  1. 编码格式,解决乱码情况
    Linux下nginx环境搭建及详解_第6张图片

你可能感兴趣的:(nginx,nginx,linux,lua)