linux下安装nginx及初步认识
linux下安装配置nginx
nginx:是一个高性能的反向代理服务器正向代理代理的是客户端,反向代理代理的是服务端。
这里以nginx-1.12.2版本为例子
1、首先去官网下载nginx-1.12.2.tar.gz安装包并上传到linux服务器并解压缩安装包
tar -zxvf nginx-1.12.2.tar.gz
yum install gcc gcc-c++
3. 执行命令./configure --prefix=/mysoft/nginx-1.12.2 。/mysoft/nginx-1.12.2 这个路径是指定ngxin的安装目录.我这边直接安装到默认目录下,执行 ./configure

安装完成
4、安装一下nginx的一些相关依赖
yum -y install pcre-devel zlib-devel openssl openssl-devel
5、执行 make 命令

然后执行 make install

6、启动nginx,进入默认安装 sbin目录:执行 ./nginx 启动nginx



关闭nginx:./nginx -s stop
重新加载配置文件: ./nginx -s reload
配置文件 nginx.conf:
server 配置:
虚拟主机配置:nginx的虚拟主机配置有3种方式,基于IP的虚拟主机,基于端口号的虚拟主机,基于域名的虚拟主机,我们常用的是后面两种,我这边页主要学习后面两种。基于IP的虚拟主机主要是:增加网卡获得多ip或者增加辅助ip,修改nginx配置文件配置多ip,重启nginx服务。
基于端口号的虚拟主机,在 http 段内配置 server 的信息,可以配置多个端口来实现基于端口的虚拟主机配置:
server {
listen 8081; // 监听端口
server_name localhost; // 域名
location / {
root html; // 静态文件存放根路径
index index.html index.htm;// 主页
}
}
server {
listen 8080; // 监听端口
server_name localhost; // 域名
location / {
root html; // 静态文件存放根路径
index index.html index.htm;// 主页
}
}
基于域名的虚拟主机,要实现效果可以自己去购买域名。如果仅为调试可以修改本地host映射文件来实现。配置如下:
server {
listen 80; // 监听端口
server_name www.wuzz.com ; // 域名
location / {
root html; // 静态文件存放根路径
index index.html index.htm;// 主页
}
}
server {
listen 80; // 监听端口
server_name www.wuzz1.com; // 域名
location / {
root html; // 静态文件存放根路径
index index.html index.htm;// 主页
}
}
location 配置:
语法规则: location [ = | ~ | ~* | ^~ ] /uri/ { … }
= : 开头表示精确匹配。
1 location = /
2 location = /index
3 location ^~ /static/
4 location ^~ /static/files/
5 location ~ \.(gif|png|js|css)$ http://192.168.254.138/ ->会匹配到1
http://192.168.254.138/index -> 2
http://192.168.254.138/static/files/1.txt -> 4
http://192.168.254.138/mic.png -> 5
在实际生产环境中建议配置如下:
location =/ {
}
location / {
}
location ~* \.(gif|....)${
}
nginx有五大优点:模块化、事件驱动、异步、非阻塞、多进程单线程。其中,模块化设计类似于面向对象中的接口类,它增强了nginx源码的可读性、可扩充性和可维护性。总共有5大一类模块:core、conf、event、http、mail,和48个二类模块(我自己的安装版本)。
Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
Nginx的模块从结构上分为核心模块、基础模块和第三方模块:
核心模块:http 模块、event 模块和 mail 模块(ngx_http_core_module)
基础模块:HTTP Access模块、HTTP FastCGI模块、HTTP Proxy模块和HTTP Rewrite模块,(ngx_http_access_module)
第三方模块:HTTP Upstream Request Hash模块、Notice模块和HTTP Access Key模块。
用户根据自己的需要开发的模块都属于第三方模块。正是有了这么多模块的支撑,Nginx的功能才会如此强大。
Nginx的模块从功能上分为如下三类:
Handlers(处理器模块)。此类模块直接处理请求,并进行输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。
Filters (过滤器模块)。此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。
Proxies (代理类模块)。此类模块是Nginx的HTTP Upstream之类的模块,这些模块主要与后端一些服务比如FastCGI等进行交互,实现服务代理和负载均衡等功能。
如何添加第三方模:
1. 原来所安装的配置,你必在重新安装新模块的时候,加上。
2. 不能直接make install。
可以通过 nginx -v 查看原先安装模块的配置。比如我这边需要添加两个模块,一个是状态监控模块,一个是随机主页。先查看原先配置:

原先都是默认安装,然后执行本次添加模块的命令:./configure --with-http_stub_status_module --with-http_random_index_module

安装完成,执行 make ,不要重新 make install ,重新安装后会覆盖原先的所有东西。 这边还需要执行以下命令:cp objs/nginx /usr/local/nginx/sbin/nginx。我这边安装在/usr/local/nginx/sbin/nginx。

重新加载配置文件或者重启服务。访问 192.168.254.138/status 如下:

nginx 状态信息解释如下:
Active connections:当前状态,活动状态的连接数,这里是1。
accepts:统计总值,已经接受的客户端请求的总数,这里是1。
handled:统计总值,已经处理完成的客户端请求的总数,这里是1。
requests:统计总值,客户端发来的总的请求数,这里是1。
Reading:当前状态,正在读取客户端请求报文首部的连接的连接数,这里是0。
Writing:当前状态,正在向客户端发送响应报文过程中的连接数,这里是1。
Waiting:当前状态,正在等待客户端发出请求的空闲连接数,这里是0。
对于随即主页模块 http_random_index_module,我们需要在 location 中打开此功能,打开后凡是以/结尾的请求,都会随机展示当前目录下的文件作为首页,我这里是html 目录下,配置如下:
location / {
root html;
random_index on;
index index.html index.htm;
}
重新加载配置文件或者重新启动服务,疯狂刷新页面你会看到随机的效果。
linux下安装nginx及初步认识的更多相关文章
- 【云服务器部署】---Linux下安装nginx
[云服务器部署]---Linux下安装nginx 之前两篇,分别讲了:Linux下安装MySQL 和 springboot项目部署云服务器 nginx安装也是挺简单的.具体步骤如下: 第一步,下载 ...
- linux 下 安装nginx及压力测试
linux 编译安装nginx,配置自启动脚本 下载nginx: wget http://nginx.org/download/nginx-1.8.0.tar.gz下载openssl : wget h ...
- linux 下安装 nginx
安装nginx版本为1.7.5 一.下载nginx 官方地址:http://www.nginx.org/ 下载地址:http://nginx.org/download/ Nginx官网提供了三个类型的 ...
- Linux下安装Nginx并配置一个图片服务器
首先安装nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...
- linux下安装nginx和配置
1.系统:centos6.8 2.安装准备: 安装nginx前,我们首先要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件,可通过如图所示命令进 ...
- linux下安装nginx+php+mysql环境 详细教程
话不多说上代码 linux环境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.ta ...
- Linux下安装Nginx服务器
安装Nginx之前,首先要安装好编译环境gcc和g++,然后以CentOS为例安装Nginx,安装Nginx需要PRCE库.zlib库和ssl的支持,除了ssl外其他的我们都是去官网下载: Nginx ...
- Linux下安装Nginx详细图解教程
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- linux下安装nginx、pcre、zlib、openssl
1.安装nginx之前需要安装PCRE库的安装 最新下载地址 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ tar –zxvf p ...
随机推荐
- JSP动态页面技术
1.JSP和html的区别 处理过程的区别 HTML 浏览器发送一个请求到服务器,服务器找到这个页面直接返回. JSP 浏览器发送一个请求道服务器,服务器判断到时.jsp结尾,去调用JSP引擎,JSP ...
- 【译】第二篇 SQL Server安全验证
本篇文章是SQL Server安全系列的第二篇,详细内容请参考原文. 验证是检验主体的过程.主体需要唯一标识,那样SQL Server可以确定主体有哪些权限.正确的验证是提供安全访问数据库对象的必要的 ...
- 剑指Offer-滑动窗口的最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...
- 如何快速上手一个新技术之vue学习经验
碰到紧急项目挪别人的vue项目过来直接改,但是vue是18年初看过一遍,18年底再来用,早就忘到九霄云外了,结果丢脸的从打开vue开始学,虽然之前在有道云笔记做了很多记录,然后没有系统整理.所以借这次 ...
- Django REST Framework API Guide 03
本节大纲 1.Routers 2.Parsers 3.Renderers Routers Usage from rest_framework import routers router = route ...
- Shiro入门 - 通过ini文件进行授权
shiro-permission.ini #用户 [users] #admin的密码是111111,此用户具有role1.role2两个角色 admin=111111,role1,role2 zhan ...
- SqlServer_存储过程
1.查询全部数据 create proc stu1 as begin select * from Students end go exec stu1 2.根据姓名查询信息 --存储过程内部自带值cre ...
- zabbix系列~mysql进行监控
一 简介:zabbix进行数据库监控 二 目的:采用percona进行插件式安装监控 三 安装 环境 zabbix_agent 步骤 yum -y install php php-mysql yum ...
- vue 学习笔记—路由篇
一.关于三种路由 动态路由 就是path:good/:ops 这种 用 $route.params接收 <router-link>是用来跳转 <router-view> ...
- 20165237 2017-2018-2 《Java程序设计》第四周考试补做及2-3章编程题
20165237 2017-2018-2 <Java程序设计>第四周考试补做及2-3章编程题 测试JDB: 用JDB调试上一个程序,输入1.2.3: 2-3章编程题代码托管 (程序的运行结 ...