Nginx第1篇-安装和简单配置

news2024/10/5 20:19:20

Nginx可以做什么

  1. 可以做静态HTTP服务器
  2. 做负载均衡
  3. 做正向代理
  4. 做反向代理

正向代理和反向代理

正向代理:

是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。常用的比如访问国外网站。所以,正向代理,其实是"代理服务器"代理了"客户端",去和"目标服务器"进行交互。

反向代理:

是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
所以,反向代理,其实是"代理服务器"代理了"目标服务器",去和"客户端"进行交互。

系统版本

本次安装基于系统版本:CentOS7.6,使用下面指令查看linux系统内核版本

[root@VM-0-9-centos ~]#  uname -a
Linux VM-0-9-centos 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Nginx下载

nginx下载地址:https://nginx.org/en/download.html
本次选择:http://nginx.org/download/nginx-1.9.2.tar.gz

安装过程

参考文档:https://blog.csdn.net/qq_39420519/article/details/126322909
linux可以将软件安装在/opt目录下,也可以自己选择。

cd /opt
# step1: 下载软件包
wget http://nginx.org/download/nginx-1.9.2.tar.gz
# step2: 解压
tar -xzvf nginx-1.9.2.tar.gz
# step3: 编译
cd nginx-1.9.2/
make && make install 
# step4 设置软链:
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
# step5 启动, 直接执行nginx就可以了
nginx

其他常用的命令

# 其他的一些常用命令
# 检查配置
nginx -v 查看版本
nginx -t(检查nginx.conf配置是否正确)
nginx -s reload(重新载入配置文件,通常配合-t使用,在修改了nginx.conf且检查无误之后)
nginx -s stop(停止 Nginx)
nginx -s reopen(重启 Nginx)

启动之后,在浏览器输入ip地址就能看到被代理到默认界面了。
在这里插入图片描述

配置

我们看下配置,nginx是如何代理的

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.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;
    #    }
    #}
}

可以看到上面监听了80端口,然后代理一些静态html资源。

下面我们增加个配置,将我们的请求代理到www.baidu.com:

    server {
        listen       81;
        # server_name  somename  alias  another.alias; # 也可以写ip

        location / {
            proxy_pass   http://www.baidu.cm;
        }
    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Scala 02——Scala OOP

文章目录 Scala 02——Scala OOP前序类1. 类的基本结构2. 普通类和数据类的区别 继承1. extends2. override 抽象类抽象类的特点 单例对象1. 定义2. 场景3. 方法3.1 方法定义3.2 方法调用 特质1. 抽象类和特质的区别2. 强制混入语法3. 静态混入和动态混入 内部类Java和Scala内部…

单链表的应用

文章目录 目录1. 单链表经典算法OJ题目1.1 [移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/description/)1.2 [链表的中间节点](https://leetcode.cn/problems/middle-of-the-linked-list/description/)1.3 [反转链表](https://leetcode.cn/problem…

【八股】Redisson分布式锁

Redisson分布式锁 主要了解了Redisson分布式锁实现的三个功能: 1.可重入 -> 防止死锁 2.可重试(i.e. 非阻塞获取锁) 3.自动续约 1. 可重入 原理: 利用Redis的Hash结构,记录了使用当前锁的线程id和重用次数&#…

C++初级----list(STL)

1、 list介绍 1.1、 list介绍 1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 1. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一…

git 分支-变基

在git中,将一个分支的更改集成到另一个分支有两种主要方式:合并(merge)和变基(rebase)。在本节中,将学习什么是变基,如何执行变基操作,为什么它是一个非常强大的工具&…

Web 题记

[极客大挑战 2019]LoveSQL 看到这种就肯定先想到万能密码,试试,得到了用户名和密码 总结了一些万能密码: or 11 oror admin admin-- admin or 44-- admin or 11-- admin888 "or "a""a admin or 22# a having 11# a havin…

vue2知识点1 ———— (vue指令,vue的响应式基础)

vue2的知识点,更多前端知识在主页,还有其他知识会持续更新 Vue 指令 Vue指令是Vue.js中的一个重要概念,用于向DOM元素添加特定行为或功能。Vue指令以v-开头,例如v-bind、v-if、v-for等。 v-bind 动态绑定属性 用法&#xff1a…

Linux sort/uniq/wc

文章目录 1. sort 排序将线程ID从大到小排序 2.uniq 临近去重3.wc word cnt 统计 1. sort 排序 将线程ID从大到小排序 grep -v是反向筛选,利用USER,排除掉首行 awk是打印第1 2列 sort -n是代码以数值大小做排序,不加的话会以字符排序。 -k是…

数通HCIE考试分享:考前心态很重要,心情放松好过一次练习

誉天数通HCIE晚班火热预约中!真机实验考前辅导备考资料,名师保驾护航,助你稳定通关!识别二维码,即可获取免费试听名额! 备考阶段 我是去年10月底完成了笔试考试,在笔试之前就将PY的课程过了一遍…

白话transformer(六)编码器与解码器

B 站视频:https://www.bilibili.com/video/BV1fE421T7tR/?vd_source9e18a9285284a1fa191d507ae548fa01 白话transformer(六) 1、前言 今天我们将探讨Transformer模型中的两个核心组件:编码器和解码器。我们将通过一个具体的任务…

【数据分析】AHP层次分析法

博主总结:根据每个方案x各准则因素权重累加结果 对比来选择目标。数据主观性强 简介 AHP层次分析法是一种解决多目标复杂问题的定性和定量相结合进行计算决策权重的研究方法。该方法将定量分析与定性分析结合起来,用决策者的经验判断各衡量目标之间能…

微软开源 WizardLM-2,70B优于GPT4-0613,7B持平阿里最新的Qwen1.5-32B

当地时间4月15号,微软发布了新一代大语言模型 WizardLM-2,新家族包括三个尖端型号:WizardLM-2 8x22B, WizardLM-2 70B,和WizardLM-2 7B,作为下一代最先进的大型语言模型,它在复杂聊天、多语言、推理和代理方面的性能有…

为什么还有人再问鸿蒙开发有必要学吗?

前言 学习鸿蒙开发,这事儿真的挺有必要的。鸿蒙操作系统,它厉害就厉害在高性能、可扩展,还特智能。现在智能设备和物联网火得不行,鸿蒙就是要成为这个时代的领头羊。它可不是来跟安卓抢饭碗的,它的眼光可远了&#xf…

4/17 FreeRTOS_day2

1.总结串口的发送和接收功能使用到的函数 端口发送数据 HAL_StatusTypeDef HAL_UART_Transmit( UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout ) UART_HandleTypeDef *huart:指定要使用的串口 const uint8_t *pData&#…

【STM32】嵌入式实验二 GPIO 实验 (前三个设计)

1. 按键亮灯 设计 GPIO 实验项目 1,功能:当按键 KB1 按下时,实验板上全彩发光二极管周边 的发光二极管全亮,当按键 KB2 按下时跑马灯 D0 闪亮。 实验要求基于寄存器的GPIO配置,所以需要手动操作寄存器来配…

Spring5深入浅出篇:Spring动态代理详解

Spring5深入浅出篇:Spring动态代理详解 很多粉丝私信我这个Spring5的课程在哪看,这边是在B站免费观看欢迎大家投币支持一下. 视频地址 Spring动态代理详解 这篇主要介绍MethodBeforeAdvice,MethodInterceptor俩者在动态代理中起到的作用,并且详解俩者区别 额外功能的详解 Met…

重定向原理和缓冲区

文章目录 重定向缓冲区 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站。 重定向 内核中为了管理被打开的文件,一定会存在描述一…

【热门话题】常见分类算法解析

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 常见分类算法解析1. 逻辑回归(Logistic Regression)2. 朴…

【Spring进阶系列丨第十篇】基于注解的面向切面编程(AOP)详解

文章目录 一、基于注解的AOP1、配置Spring环境2、在beans.xml文件中定义AOP约束3、定义记录日志的类【切面】4、定义Bean5、在主配置文件中配置扫描的包6、在主配置文件中去开启AOP的注解支持7、测试8、优化改进9、总结 一、基于注解的AOP 1、配置Spring环境 <dependencie…

1.SCI各模块

1.学会“抄” 写论文&#xff0c;一定要学会“抄”&#xff01;这样才能事半功倍&#xff0c;尤其是对于初次写作的新手&#xff0c;否则写作过程一定会让你痛不欲生&#xff0c;而且写出来的东西就是一坨shi&#xff0c;不仅折磨自己&#xff0c;也折磨导师。 写论文与建大楼…