首页 > 系统相关 >高性能web服务器nginx和反向代理

高性能web服务器nginx和反向代理

时间:2022-12-23 13:03:21浏览次数:40  
标签:web http temp -- nginx path var 服务器

高性能web服务器——nginx

一、 简介

1. nginx是什么?

l 是一个使用c语言开发的高性能的http服务器和反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。

l 是俄罗斯的程序设计师Igor Sysoev为俄罗斯访问量第二的 Rambler.ru 站点开发的。

2. nginx的优点?

l 轻量级

l 在应对高并发情况时,能保持低资源低消耗高性能

l 高度模块化的设计,配置简洁

l 官方测试nginx能够支撑5万并发量,并且cpu、内存等资源消耗却非常低,运行非常稳定

3. nginx的应用场景?

l http服务器。Nginx可以独立提供http服务,可以做网页静态服务器

l 虚拟主机。可以实现在一台服务器虚拟出多个网站

l 反向代理,负载均衡

4. nginx版本下载

l http://nginx.org/en/download.html

 

二、 nginx安装

1. 安装准备

l 输入

2. nginx安装

解压

 

高性能web服务器nginx和反向代理_nginx

 

 

进入解压目录

 

高性能web服务器nginx和反向代理_html_02

 

 

l 复制下面这段,执行configure,生成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

编译

 

高性能web服务器nginx和反向代理_服务器_03

 

 

安装

 

高性能web服务器nginx和反向代理_html_04

 

 

创建链接

 

高性能web服务器nginx和反向代理_nginx_05

 

 

验证配置有没有问题

 

高性能web服务器nginx和反向代理_html_06

 

 

若出现少文件夹的报错,自己创建一下

 

高性能web服务器nginx和反向代理_html_07

 

 

3. nginx启动

检查防火墙,是关闭的状态

 

高性能web服务器nginx和反向代理_服务器_08

 

 

启动,查看进程

 

高性能web服务器nginx和反向代理_nginx_09

 

 

浏览器访问

 

高性能web服务器nginx和反向代理_nginx_10

 

 

4. nginx停止

关闭并查看进程

 

高性能web服务器nginx和反向代理_html_11

 

 

5. nginx刷新配置

启动后,若修改配置,如下刷新即可,不需要重启nginx

 

高性能web服务器nginx和反向代理_html_12

 

 

三、 nginx详解

1. nginx安装目录

 

高性能web服务器nginx和反向代理_nginx_13

 

 

l conf:nginx的配置文件

l html:nginx默认访问的根目录,存放静态资源

l sbin:存放nginx运行脚本

2. nginx配置文件

 

高性能web服务器nginx和反向代理_nginx_14

 

 

高性能web服务器nginx和反向代理_html_15

 

 

 

l worker_processes:工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。

l worker_connections:每个工作进程的最大连接数量。根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。

l include:设置支持的文件类型,具体内容在mime.types中

l sendfile:sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。

l keepalive_timeout:keepalive超时时间。

l server:一个server就是一个虚拟机

l listen:server虚拟机的端口号

l server_name:server虚拟机的主机名

l location:默认访问的资源

l root html:虚拟主机的根目录

四、 nginx基本使用

1. web站点

如下目录,存的东西,外部可直接访问

 

高性能web服务器nginx和反向代理_html_16

 

 

2. 多虚拟主机

省钱,省事

直接修改配置

 

高性能web服务器nginx和反向代理_nginx_17

 

 

在原server下,再加一个server

 

高性能web服务器nginx和反向代理_html_18

 

 

复制一份html文件夹,叫py,跟配置对应上

 

高性能web服务器nginx和反向代理_服务器_19

 

 

修改index.html,让自己能区分

 

高性能web服务器nginx和反向代理_html_20

 

 

刷新配置

 

高性能web服务器nginx和反向代理_服务器_21

 

 

3. 404页面设置

配置里,可以把如下注释打开,自己创建错误页面

 

高性能web服务器nginx和反向代理_nginx_22

 

 

创建一个对应的404.html

 

高性能web服务器nginx和反向代理_nginx_23

 

 

刷新配置

 

4. nginx反向代理

如下,此时,访问80端口,实际上会转发到85端口

 

高性能web服务器nginx和反向代理_服务器_24

 

 

刷新配置

 

高性能web服务器nginx和反向代理_html_25

 

 

访问80,跳转到了85

 

高性能web服务器nginx和反向代理_html_26

 

 

5. nginx负载均衡

修改配置文件

 

添加负载均衡池,80端口反向代理到负载均衡池

 

高性能web服务器nginx和反向代理_nginx_27

 

 

下面多一个95端口的server

 

高性能web服务器nginx和反向代理_nginx_28

 

 

复制py,创建个p2,修改里面的index.html,有区分就行

 

高性能web服务器nginx和反向代理_服务器_29

 

 

刷新配置

 

高性能web服务器nginx和反向代理_html_30

 

 

页面访问,此时实现了反向代理到85和90,也是按照权重去访问的

 

高性能web服务器nginx和反向代理_html_31

 



标签:web,http,temp,--,nginx,path,var,服务器
From: https://blog.51cto.com/u_15920572/5965372

相关文章

  • PHP添加$_SERVER服务器环境变量
    PHP添加$_SERVER服务器环境变量通过nginx的fastcgi_param来设置通过php主配置文件php-fpm.conf来设置通过Apache设置环境变量NGINX设置通过nginx的fastcgi_para......
  • webpack 构建脚手架
    前言1.构建项目2.局部安装3.webpack.config.js4.打包css文件5.打包less文件6.打包vue文件7.loader和plugin区别8.添加版权的插件9.html-webpack-plugin......
  • Linux服务器安装python3.7环境
    安装python3.7依赖yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-......
  • 【服务器数据恢复】Storwize系列存储设备raid5多块硬盘离线导致Mdisk失效,通用卷无法使
    服务器故障:某品牌Storwize系列存储中raid5阵列有一块硬盘出现故障离线,热备盘启用替换离线盘,开始同步数据。这时与离线盘同一组Mdisk中的另一块磁盘故障离线,热备盘同步失败,......
  • 远程服务器返回错误: (411) 所需的长度。
    最近在项目上遇到了问题是:411错误,出现这个错误可能是再请求POST的时候,若没有参数的情况下,需要把 HttpWebRequest的长度设置为0,req.ContentLength=0;publicstringHttpPo......
  • Website Develop: Handler “PageHandlerFactory-Integrate
    1.installallfeaturesinIIS2.Trythefollowingstepstoregisterit.run%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe-i或运行,跳出如下错误:......
  • Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令
    场景Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12839905......
  • Nginx 重定向
    301重定向location/{return301https://$host$request_uri;}禁止ip地址访问server{listen80default_server;return500;......
  • Nginx反向代理
    1、何为反向代理在介绍反向代理之前,先来了解一下正向代理。正向代理:如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理......
  • docker的dockerfile案例nginx学习
    一、什么是DockerfileDockerfile是自动构建docker镜像的配置文件,将镜像构建过程通过指令的方式定义在Dockerfile中。配合​​dockerbuild​​命令行可以实现自动化的Docker......