Nginx环境搭建与使用
一、背景
之前测试的项目前后端的"路由"(负责把前端发过来的请求转发到相应的后端服务上)要用Nignx来取代原来的tomcat的http server功能,做这个替换的原因是Nignx轻量级,抗并发,处理静态文件好。
Nignx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让java web app泡在里面的东西。
严格意义上来讲,Nignx应该叫做HTTP Server,而tomcat是一个Application Server是一个Servlet/JSO应用的容器。
客户端通过HTTP Server(Nignx)访问服务器上存储的资源(HTML文件,图片文件等),HTTP Server(Nignx)只是把服务器上的文件通过HTTP协议传输给客户端。
应用服务器(tomcat)往往是运行在HTTP Server(Nignx)的背后,执行应用,将动态的内容转化为静态的内容之后,通过HTTP Server(Nignx)分发到客户端。
请求的流转过程概图:

注意:nginx只是把请求做了分发,不做处理!!!
二、Nginx环境搭建
1、下载

2、解压
# tar -xzf nginx-1.16.1.tar.gz
3、安装依赖的基础组件
因为nginx默认会依赖一些基础组件,这些依赖组件主要有g++,gcc, openssl-devel, pcre-devel和zlib-devel,所以在正式安装nginx前最好先安装好这些组件。可以使用yum一次性安装,运行以下命令:
# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
4、进入安装包目录、编译安装
# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
# make
# make install
5、查看nginx版本
# nginx -v
显示版本号,说明安装成功
三、使用
1、配置文件
Nginx的配置文件默认为nginx.conf,我这里通过新建了一个conf.d文件夹和.conf文件(.conf文件具体的内容参考nginx.conf)来完成配置,具体如下:

upstream模块要负责负载均衡的配置,通过默认的轮询调度方式来分发请求到后端服务器
-- max_fails:表示失败最大次数,超过失败最大次数暂停服务
-- fail_timeout:表示如果请求受理失败,暂停指定的时间之后重新发起请求
2、Nginx的启动
直接输入nginx命令,即可启动
# nginx
还可以通过systemctl来启动nginx
# systemctl start nginx
3、Nginx的停止
nginx的停止有两种方式,分别是 1. nginx -s stop命令 2. kill -9 nginx_pid命令 # nginx_pid指的是主进程的pid号
同理,也可以通过systemctl来停止nginx
# systemctl stop nginx
需要说明的是,使用systemctl命令结束nginx进程时,只有通过systemctl启动的nginx才能被正常结束,而通过运行nginx命令启动的进程是不能被正常结束的。
使用kill命令来结束nginx进程。结束nginx进程的信号有两个,分别是TERM和QUIT:
# kill -s QUIT nginx_pid
# kill -s TERM nginx_pid
前者(QUIT)用于快速停止nginx,后者(TERM)用于平缓停止nginx,区别在于平缓停止nginx会等待工作进程将请求结束以后再停止。
4、Nginx的配置文件重载
nginx的配置文件重载,这也是一个很重要的功能,因为很多时候需要修改nginx的配置文件,修改完成后需要重新加载配置文件,方法有2个
1. nginx -s reload
2. kill -s HUP nginx_pid命令
Nginx环境搭建与使用的更多相关文章
- Linux下PHP+Nginx环境搭建
PHP+Nginx环境搭建 作者:王宇阳( Mirror )^_^ 参考文章: Nginx+PHP+MySQL安装参考 PHP源码安装经验 PHP源码环境搭建过程中常见问题 CentOS环 ...
- Nginx 环境搭建 (windows)
Nginx 环境搭建 (windows) 资源 # nginx在线文档和支持 For online documentation and support please refer to nginx.or ...
- 【Nginx(一)】Centos下 Nginx环境搭建
Nginx环境搭建 系统环境: 腾讯云 Linux Centos7 1.下载nginx压缩包 ,上传到腾讯云服务器 http://nginx.org/en/download.html 或者使用dock ...
- Linux下.Net Core+Nginx环境搭建小白教程
前言 对于接触.Net Core的我们来说之前从未接触过Linux,出于资源和性能及成本的考虑我们可能要将我们的环境搬到Linux下,这对于我们从未接触过Linux的童鞋们来说很棘手,那么我今天将带你 ...
- Docker学习之——Node.js+MongoDB+Nginx环境搭建(一)
最近在学习Node.js相关知识,在环境搭建上耗费了不少功夫,故此把这个过程写下来同大家分享一下,今天我先来介绍一下Docker,有很多人都写过相关知识,还有一些教程,在此我只想写一下,我的学习过程中 ...
- 基于【 centos7】三 || 分布式文件系统FastDFS+Nginx环境搭建
1. FastDFS介绍 1.1 FastDFS定义 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用 ...
- nginx 环境搭建(基于linux)
Nginx是一种服务器软件,故而其最主要.最基本的功能当然是可以与服务器硬件结合,让程序员可以将程序放在Nginx服务器上,将程序发布出去,让成千上万的网民可以浏览.除此之外,Nginx是一种高性能的 ...
- nginx----------linux下nginx环境搭建遇到的一些问题汇总(多域名配置,配置文件修改问题)
一.启动 cd usr/local/nginx/sbin ./nginx 二.重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/ngin ...
- Nginx学习---企业级nginx环境搭建
1.1. nginx安装环境 1.系统要求 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. 1-1 安装 GCC 源码安装nginx需要依赖gcc环境,需要 ...
随机推荐
- UCloud 云服务内容审核 Java 版本实现
前言 最近不少小伙伴反映上传小黄图偶尔性的异常,并且不能上传动态图片,很是苦恼!无她,鉴黄API还没有这么智能,毕竟是自己训练的,不是那么专业!为了更好的服务广大网友,撸主决定接入更加智能快速的鉴黄服 ...
- Gemini.Workflow 双子工作流高级教程:数据库设计及各表作用说明
整体数据库设计,可见这一篇:Gemini.Workflow 双子工作流高级教程:数据库-设计文档 这里对各数据表进行介绍: 工作流里的设计表并不多,核心只有以下8个: 下面按照流程的顺序来介绍一下表的 ...
- 【2018寒假集训 Day2】【动态规划】抢金块
抢金块 输入文件:gold.in 输出文件:gold.out 问题描述: 地面上有一些格子,每个格子上面都有金块,但不同格子上的金块有不同的价值,你一次可以跳S至T步 .如果S=2,T=4.你就可以跳 ...
- linux alias(命令别名)
alias:获取定义的所有命令别名 alias NAME='COMMAND':定义别名 unalias NAME:撤销别名
- 【RN - 基础】之Image使用简介
Image组件是用来加载图片的.React Native项目加载图片往往有三种方式: 从React Native项目中加载图片: 从APP项目中加载图片: 从网络中加载图片. Image组件加载图片 ...
- 英语口语考试资料College life
College life Early in senior high school, we longed to be enrolled in a university. Now the dream ha ...
- C# 轮流展示照片
代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u ...
- 题解 CF1206B 【Make Product Equal One】
感谢 @一个低调的人 (UID=48417) 题目: CodeForces链接 Luogu链接 思路: 这是一个一眼题 我们不妨把所有的数都看做是\(1\)(取相应的花费,如:\(6\) 的花费就是\ ...
- fsockopen以Socket方式模拟HTTP下载文件
fsockopen 的功能很强大,比如前面模拟 HTTP 访问,模拟 POST/GET 请求,什么的,这里再举一个例子,那就是下载东西.比如下载 http://www.nowamagic.net//l ...
- 第二章 Unity Shader基础
[TOC] 1. Unity Shader 的基础: ShaderLab 学习和编写着色器的过程一直是一个学习曲线很陡峭的过程,通常情况下为了自定义渲染效果往往要和很多文件和设置打交道,这些设置很容易 ...