Nginx的使用和作用(反向代理,负载均衡,静态网站部署,动静分离,虚拟主机)上篇

news/2024/5/13 0:54:30/文章来源:https://blog.csdn.net/yangaoyuan1999/article/details/117227263

1.Nginx的简介:

1.nginx是一款轻量级的web服务器和反向代理服务器,也可以作为邮件代理服务器
2.占用内存少,并发处理能力强,cpu,内存等资源消耗非常低,运行非常稳定(Nginx官方测试为5万并发请求)
3.与Nginx的并发处理能力在同类型的web服务器有Apache(阿帕奇,世界使用排名第一的web服务器软件),Lighttpd(德国的),Tengine(阿里巴巴的)
4.Nginx的并发处理能力在同类型的Web服务器中表现极好,在全世界范围内大量网站使用了nginx,国内的互联网中也大量使用了Nginx,比如:淘宝,新浪,网易,搜狐,美团
5.Nginx是免费开源的,同时也有收费的商业版本,商业版本提供了性能优化,紧急问题处理等技术支持
6.Nginx是由俄罗斯人伊戈尔·赛索耶夫,采用C语言开发编写的

2.Nginx的作用:

  • 负载均衡
  • 反向代理
  • 静态网站部署
  • 动静分离
  • 虚拟主机

3.反向代理

  • 是指以代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器
  • 客户只需要发送请求到代理服务器,代理服务器会将请求转发给内部的服务器去处理,处理完毕之后将结果返回给客户
  • 整个过程中客户和实际处理服务器是不会直接建立连接的
  • 反向代理隐藏了真正的服务端,就像使用百度,背后有成千上万台服务器,我们并不知道那一台为我们服务,我们只知道这个代理服务器,它会把我们的请求转发到为我们提供数据的服务器

反向代理

正向代理:
1.正向代理类似一个跳板机,代理访问外部资源
2. 比如,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,
这个代理服务器,他能访问那个我不能访问网站,于是我先连上代理服务器,
告诉他我需要那个无法访问的网站的内容,代理服务器去取,然后返回给我

nginx不处理用户请求,只是接受到请求以后将请求转发给后台的Tomcat(是一个免费的开源的轻量级Web 应用服务器),由后台的Tomcat来处理我们的用户请求,这时ngxin就是反向代理
正向代理的对象是客户端,反向代理的对象是服务端

4.Linux命令的使用:

1.yum install -y wget   //安装wget,yum是Shell前端软件包管理器
2.wget  http://nginx.org/download/nginx-1.18.0.tar.gz   //安装nginx软件
3.grep查找命令,查找文件里符合条件的字符串或者指定文件
grep test *file  //查找有file字样的文件中包含test字符串的文件,并打印该字符串的行
grep  文件名   //查找文件
4.pwd  //查看当前目录
5.cd  目录名路径/文件名路径  //切换到目录或文件名
6.ll命令就是 ls -l  的缩写,
7.mkdir soft   //创建名字为soft的目录
8.rz    //上传文件到服务器,  rz    - y   //上传文件,如果文件已经存在就覆盖
9.  sz  文件名    //下载文件
10.tar  是解压/压缩命令 -x:解压, -z:是带有gzip属性的,-f:解压后的名字,-v是显示所有过程
tar  -zxvf  文件名
11.ssh root@ip      //远程连接服务器        //root:远程linux系统登录用户名,ip:远程linux系统IP地址
12.make   //编译
13.rm   -rf  文件名/目录    //强制删除目录或文件
14.kill  主进程号  //关闭nginx
15.ps -ef | grep nginx     //ps将某个进程显示出来,grep是查找,中间管道符,把前面命令的输出,作为后面命令的输入,  查看nginx进程
16.yum install -y lrzsz   //如果没有rz功能需要下载

1.wget是Linux的一个下载文件工具,是开源软件,支持断点下载
2. yum install -y/-q 软件路径 //-y安装过程提示,-q不显示安装过程

5.Nginx环境搭建

1.免费的开源官网:http://nginx.org
2.Nginx有Windows版本和Linux版本,但更推荐使用Linux
3.我们习惯将下载或者上传的安装文件放在/home/soft/目录下
4.我们一般在windows下载Linux版的nginx然后再上传到Linux
5.1使用Xshell与服务器进行连接

在这里插入图片描述
在这里插入图片描述
然后执行上方的一次性安装命令:
这里以前安装过了,才会出现这个页面
在这里插入图片描述

5.2安装前的准备:

Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误,具体检查安装过程为:

  • gcc编译器是否安装

    • 检查是否安装:yum list installed | grep gcc
    • 执行安装yum install gcc -y
  • openssl库是否安装

    • 检查是否安装:yum list installed | grep openssl
    • 执行安装yum install openssl openssl-devel -y
  • pcre库是否安装

    • 检查是否安装:yum list installed | grep pcre
    • 执行安装:yum install pcre pcre-devel -y
  • zlib库是否安装

    • 检查是否安装:yum list installed | grep zlib
    • 执行安装:yum install zlib zlib-devel -y

在这里插入图片描述

一次性安装: 执行如下:

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

5.3正式安装:

1.先创建目录soft:用于存放下载的软件
2.上传文件,将文件上传到soft目录中
在这里插入图片描述
3.然后解压文件 tar -zxvf 文件名
在这里插入图片描述

4.进入这个解压的文件:cd nginx文件名
在这里插入图片描述

  1. 配置nginx安装前路径为:/usr/local/nginx
    ./configure --prefix=/usr/local/nginx
    在这里插入图片描述
    在这里插入图片描述

6.然后执行make命令进行编译
在这里插入图片描述
7.然后执行make install 进行安装
在这里插入图片描述
8.进入文件/usr/local下的nginx文件中的conf文件
在这里插入图片描述

在这里插入图片描述
9.然后对nginx.conf文件进行配置,就可以部署静态网站
在这里插入图片描述

一般配置的话我们先下载下来,然后在windows中进行配置,之后再上传

nginx中的 html文件中有两个html分别是出现错误时转发到50x.html,显示错误信息
index.html是欢迎首页
在这里插入图片描述
这是欢迎首页
在这里插入图片描述
10.启动nginx,在nginx/下的sbin目录中,执行./nginx
在这里插入图片描述
在这里插入图片描述
此时端口冲突,需要关闭nginx,用配置文件启动nginx

ps -ef | grep nginx //查看nginx是否启动
在这里插入图片描述

可以不用切换到sbin目录,只要想办法执行sbin目录下的nginx就可以了

11.用配置文件启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf//nginx.conf

在这里插入图片描述
这里已经启动过了,其中-c是指定配置文件

12.重启nginx

/usr/local/nginx/sbin/nginx -s reload

此时如果配置完成网站就可以打开了

5.4配置静态网站

检查配置文件是否正确

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

在这里插入图片描述
查看nginx版本:

/usr/local/nginx/sbin/nginx -v //显示nginx版本
/usr/local/nginx/sbin/nginx -V //显示nginx版本,编译器版本和配置参数

在这里插入图片描述

nginx核心配置文件:

# 配置work进程运行用户,nobody也是一个Linux用户,一般用于启动程序,没有密码
#user  nobody;
# 配置工作进程数目,根据硬件调整(一般等于CPU的总核数或总核数的两倍)
worker_processes  1;
# 配置全局错误日志及类型 [debug | info | notice | warn | error | crit ]
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
# 指定 pid 存放的路径
#pid        logs/nginx.pid;#配置工作模式模式和连接数
events {
# 单个woker进程支持的最大连接数,nginx支持的总连接数就等于,worker_processes*worker_connections
#worker_connections取值上限为65535worker_connections  1024;
}#配置http服务器,利用它的反向代理功能提供负载均衡的支持
http {
#配置nginx支持哪些多媒体类型,可以在conf/mime.types查看支持哪些多媒体类型include       mime.types;#默认文件类型 流类型,可以理解为支持任意类型default_type  application/octet-stream;
#配置日志格式#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';
#配置access_log 日志及存放路径,并使用上面定义的main日志格式#access_log  logs/access.log  main;sendfile        on;   #开启高效文件传输模式#tcp_nopush     on;  #防止网络阻塞#keepalive_timeout  0;keepalive_timeout  65;   #长链接超时时间,单位是秒#gzip  on;   #开启gzip压缩输出## 定义作为web服务器的相关属性  可以有多个server {# 监听的端口listen       80;# 域名server_name  http://www.heptagram.ltd;# 字符集采用utf-8或者gbk#charset koi8-r;#access_log  logs/host.access.log  main;# 定义一个虚拟主机的属性,所有的web服务必须定义成一个虚拟主机#/指服务器ip或者域名location / {# root是配置服务器的默认网站根目录位置,默认为nginx安装主目录下的HTML目录root   /opt/www/wz;#配置首页文件的名称index  yanhua.html yanhua.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;#精确匹配location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_876142.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ASP.NET 问题】IIS发布网站后出现 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的解决办法...

新装IIS,然后发布网站,运行出现如下错误提示 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 于是去网上找资料,轻松搞定。o(∩_∩)o 哈哈 原因: vs2010默认的是4.0框架,4.0的…

python爬取网站小说并下载实例

目的: 实现在控制台输入小说的目录路径敲击回车,实现全本下载 分析: 1.目标网站的网页结构 2.网站的数据是否有用 需求分析: 1.目录路径: 2.章节路径 通过模拟浏览器进行两次请求: 1.第一次请求小说的目录…

小白如何花费几十元搭建一个属于自己的网站!

小白如何花费几十元搭建一个属于自己的网站! 摘要: 1.域名在腾讯云、阿里云等购买一个域名,学生只需十块左右;2.虚拟主机选择一个合适自己的虚拟主机,以腾讯云为例,基础版只要19.6rmb/月;3.网站备案备案步…

企业网站维护必知:网站压力测试

互联网的普及,宽带的流行,使得越来越多的个人和单位都架设了自己的网站。而充当网站的服务器的大多是普通的PC或者低档服务器,这样访问者人数一多或者遭受DDos攻击,很容易造成瘫痪。因此我们需要网站在真正发布前对其进行压力测试…

基于Vue框架的图书销售网站(HTML+CSS+JS)

功能描述 商品分类展示;商品详情商品搜索订单详情(购物车)登录与注册 注意:登录状态可以将书籍加入购物车,为登录状态只能浏览书籍。页面布局设计大体仿的【孔夫子旧书网】。 使用到的技术 项目创建;Vue指令应用:插值、数据绑…

前后端分离的音乐网站vue3+jsp+mysql

基本描述 前端: 使用vue.js前端技术框架,结合动态web开发技术,设计了一个前后端分离的音乐网站。项目主要包含登录注册页面,音乐分类展示页面、音乐选择列表,页面数据部分从网易云服务器端口获取,部分从汤…

投票排行榜网站(HTML+CSS+JS)

前端基础练习小项目 【已上传该项目完整资源至我的资源区&#xff0c;目前为0积分的免费资源】 初始页面 用户注册 上面为登录和注册的初始页面&#xff0c;登录注册为浮动窗口 以下是相关代码 <!DOCTYPE html> <!-- 初始页面 init.html--> <html lang"e…

打开浏览器默认打开hao123网站的主页怎么取消设置?

一般这种情况都是如果不是因为有病毒劫持&#xff0c;就是因为病毒软件的设置问题。 解决方式1&#xff1a; 先看杀毒软件&#xff0c;例如电脑管家和鲁大师的浏览器设置。 这里不做过多解释。 解决方式二&#xff1a; 一些用户的下载了安装包&#xff0c;会强制绑定一些流…

【新手教程】从零搭建php动态网站

PHP环境搭建 需要准备好三个软件&#xff1a;MySQL、PHPstudy、Dreamweaver 这里我用的版本是 mysql8.0.20、phpstudy_x64_8.1.0.5 和 Dreamweaver CC 2018 因为我按照老师给的文档做&#xff0c;先卸载了MySQL后安装的phpstudy&#xff0c;然后用phpstudy提供的mysql安装后…

制作一个餐饮网站的头部

样式如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><title>餐饮网站header部分</title><meta charset"UTF-8"><meta http-equiv"x-ua-compatible" content"IEedge"><me…

分享文档浏览网站 Docs4dev

作为一个程序员&#xff0c;每天最多打交道的肯定是代码&#xff0c;其次就是各种开源框架的文档了&#xff0c;但是各个框架的文档都有它们自己的风格&#xff0c;在国内某些网站的打开速度也是堪忧&#xff0c;最重要的是&#xff1a;大部分文档都不支持搜索&#xff0c;也不…

网站美化:网站底部右侧悬浮菜单,客服菜单,一键联系配置教程

以wordpress举例 操作步骤&#xff1a; 1&#xff0c;代码共分为两部分&#xff0c;一部分是css&#xff0c;css部分建议加到主题的style.css里面&#xff01; 另一部分是html代码&#xff0c;加到可以加到主题文件夹下footer.php里面&#xff0c;至于里面的位置放到前面&am…

【苹果CMS技术教程】苹果CMSV10基础安装过程,如何拥有自己的视频网站

第一步&#xff0c;下载程序 http://www.dungei.net/6334.html 第二步:将下载的程序上传至网站根目录&#xff0c;然后解压&#xff0c;如下图所示: 第三步:打开浏览器&#xff0c;输入你的域名则会弹出如下图所示页面&#xff0c;点击同意协议并安装 第四步:同意安装后&…

Chrome浏览器插件第三方下载网站[创意网站,有趣网址]

国内大多数浏览器都是基于Chromium开源项目制作的&#xff0c;如&#xff1a;360浏览器、QQ浏览器等&#xff0c;理论上都支持安装Chrome 网上应用店内的插件&#xff0c;但是因为某些客观原因&#xff0c;国内无法正常访问Chrome 网上应用店&#xff0c;浏览器自带的插件商店往…

网传分享的Wordpressripro主题4.8版本后门分析_盾给网下载修复文件[建站教程]

关于最近网传的日主题ripro4.8版本破解版的后门问题&#xff0c;源码分享源头不清楚&#xff0c;盾给网也是转载免费分享&#xff0c;没想到中了套路。所有在网络上&#xff08;无论是盾给源码下载网或是其他网站&#xff09;下载到ripro4.8源码的朋友请好好阅读此文章&#xf…

网站有CDN怎么查询源ip?源站开启邮件通知后,分分钟拿到[运维教程]

网站有CDN怎么查询源ip&#xff1f;源站开启邮件通知后&#xff0c;分分钟拿到[运维教程] 有很多站长为了保护自己的没有防御的服务器&#xff0c;都套上了CDN。虽然套CDN可以让网站不被轻易攻击拿下&#xff0c;但是稍有疏忽&#xff0c;就暴露了自己源站服务器的IP地址。为了…

大型网站的 HTTPS 实践(一)—— HTTPS 协议和原理

声明&#xff1a;本系列文章&#xff08;共约4篇&#xff09;转发自酷勤网&#xff0c;中间有我个人的修改或者注释。 前言 百度已经于近日上线了全站 HTTPS 的安全搜索&#xff0c;默认会将 HTTP请求跳转成HTTPS。本文重点介绍HTTPS协议, 并简单介绍部署全站HTTPS的意义。 …

大型网站的 HTTPS 实践(二)——HTTPS 对性能的影响

前言 HTTPS在保护用户隐私&#xff0c;防止流量劫持方面发挥着非常关键的作用&#xff0c;但与此同时&#xff0c;HTTPS 也会降低用户访问速度&#xff0c;增加网站服务器的计算资源消耗。 本文主要介绍 https 对用户体验的影响。 HTTPS 对访问速度的影响 在介绍速度优化策…

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(一、环境搭建)

前言 VueJS可以说是近些年来最火的前端框架之一&#xff0c;越来越多的网站开始使用vuejs作为前端框架&#xff0c;vuejs轻量、简单的特性使得前端开发变得更加简易&#xff0c;而基于vuejs的前端组件库也越来越多。我们今天使用的ElementUI&#xff0c;是饿了么团队开发的一款…

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(二、编写导航页)

前言 在从零开始搭建自己的VueJS2.0ElementUI单页面网站&#xff08;一、环境搭建&#xff09;一文中我们已经配置好了开发所需要的各种环境&#xff0c;在这一篇博文中我们正式进入开发。对于一个单页面应用来说&#xff0c;导航页是至关重要的一个页面&#xff0c;所有的组件…