Nginx基础知识

文章目录

  • 简介
  • 安装
    • Ubuntu安装
    • CentOS安装
    • windows
  • 常用命令
  • 配置文件 nginx.conf
    • nginx -V
  • 反向代理 & 负载均衡


简介

  • Web服务器,高性能,Http与反向代理的服务器。
  • 启动后浏览器输入 http://localhost/ 显示欢迎页面就是启动成功了。
  • 在nginx安装目录下cmd就可以进入命令行了

在这里插入图片描述

  • conf:存在Nginx配置文件的目录
    • Nginx的配置文件是在conf目录下的nginx.conf文件
  • docs:存放Nginx文档的目录
  • html:存放静态html文件的目录
  • logs:存放Nginx日志的目录
  • temp:存放临时文件的目录

安装

Ubuntu安装

# 1. 更新仓库信息
sudo apt-get update
# 2. 安装nginx
sudo apt-get install nginx
# 3. 验证安装
sudo nginx -V

CentOS安装

CentOSLinux发⾏版可以使⽤yum来安装。
# 1. 安装EPEL仓库
sudo yum install epel-release
# 2. 更新repo
sudo yum update
# 3. 安装nginx
sudo yum install nginx
# 4. 验证安装
sudo nginx -V

windows

https://nginx.org/en/download.html
下载解压,

常用命令

  • windows:如果你没有把该目录加入到系统的path中,请在nginx当前目录下,打开cmd命令行,然后输入命令。
  • linux直接打开终端即可。
查看nginx的版本号
nginx -v
    

查看nginx详细信息
nginx -V(大写)


    
启动服务
nginx
没有提示信息就表明已经启动了。
打开浏览器输入localhost显示nginx欢迎页面表示成功启动。


查看进程
ps -ef | grep nginx
root        3572       1  0 10:59 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data    3574    3572  0 10:59 ?        00:00:00 nginx: worker process
www-data    3575    3572  0 10:59 ?        00:00:00 nginx: worker process
www-data    3576    3572  0 10:59 ?        00:00:00 nginx: worker process
www-data    3577    3572  0 10:59 ?        00:00:00 nginx: worker process
www-data    3578    3572  0 10:59 ?        00:00:00 nginx: worker process
www-data    3579    3572  0 10:59 ?        00:00:00 nginx: worker process
root        7787    4311  0 11:29 pts/1    00:00:00 grep --color=auto nginx
master 只有一个。表示主进程,负责读取与验证配置文件,管理worker进程
worker 可以多个。是实际工作进程,


查看端口占用情况
lsof -i:80


重载配置,每次修改后都要重新加载配置
nginx -s reload


快速停止或关闭
nginx -s stop


正常停止或关闭
nginx -s quit


重新打开日志文件
nginx -s reopen


检查配置文件nginx.conf是否报错
nginx -t

配置文件 nginx.conf

核心一共三部分
1. 最外层的全局块:	里面是全局的核心配置
2. events块:		里面是服务器客户端之间的网络连接配置
3. http块:			反向代理,负载均衡,虚拟主机
	- http块里面的每一个server块都代表一个虚拟主机

nginx -V

输入nginx -V查看详细信息
----------------------------------------------------
----------------------------------------------------
这是展示样例,里面都是nginx的信息

[root@yx-virtual-machine /] # nginx -V
nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 3.0.2 15 Mar 2022
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -ffile-prefix-map=/build/nginx-zctdR4/nginx-1.18.0=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-compat --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --add-dynamic-module=/build/nginx-zctdR4/nginx-1.18.0/debian/modules/http-geoip2 --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module
----------------------------------------------------
----------------------------------------------------

寻找里面的--conf-path=/etc/nginx/nginx.conf 即是配置文件的位置
通过cat命令打开文件  
cat /etc/nginx/nginx.conf

----------------------------------------------------
-----------------------------------------------------
# 全局配置

# work进程的数量
worker_processes  4;


# events事件配置
events {
    worker_connections  1024;
}


# htt配置
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;


    # 负载均衡
    upstream fzjh001{
        # 127.0.0.1是我本机地址,8081,8082是我服务器程序运行的端口
        # weight表示权重
        server 127.0.0.1:8081 weight=1;
        server 127.0.0.1:8082 weight=2;
    }

    server {
        listen       80;
        server_name  localhost;

        # 匹配输入的URL
        location / {
                # root是关键字,html指的是nginx安装目录下的html文件夹,里面放项目。
                # 你也可以指定其他文件夹放项目,只要在nginx文件夹以内就好
            root   html;
                # index是关键字,表示默认打开的网址
                # 后面两个是打开的网页文件的名字,第一个能用就不打开第二个了。
            index  index.html index.htm;
                # 反向代理
                # 参数是上面负载均衡自定义的名字。
            proxy_pass http://fzjh001;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}


----------------------------------------------------
----------------------------------------------------
# 匹配输入的URL
location / {
    # root是关键字,html指的是nginx安装目录下的html文件夹,里面放项目。
    # 你也可以指定其他文件夹放项目,只要在nginx文件夹以内就好
    root   html;
    # index是关键字,表示默认打开的网址
    # 后面两个是打开的网页文件的名字,第一个能用就不打开第二个了。
    index  index.html index.htm;
}

work数量
# work进程的数量
worker_processes  1;

反向代理 & 负载均衡

正向代理:代理客户端,假装是客户端访问服务器
反向代理:代理服务端,假装服务器服务客户端

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

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

相关文章

【AntDesign】解决嵌套section或layout中,h1字体比h2小问题

问题&#xff1a;以下情况均会导致h1比h2小&#xff0c;具体原因是浏览器默认样式里面&#xff0c;对h1不同层级设置了特殊的样式&#xff0c; <section class"css-dev-only-do-not-override-12q8zf4 ant-layout"><section class"css-dev-only-do-not…

THINKPHP 跨域报错解决方案

报错&#xff1a;has been blocked by CORS policy: Response to preflight request doesnt pass access control check: No Access-Control-Allow-Origin header is present on the requested resource. 环境&#xff1a;thinkphp6 nginx 今天和VUE配合调用接口的时候发现跨…

Maven-私服(黑马学习笔记)

前面我们在讲解多模块开发的时候&#xff0c;我们讲到我们所拆分的模块是可以在同一个公司各个项目组之间进行资源共享的。这个模块的资源共享&#xff0c;就需要通过我们接下来所讲解的Maven的私服来实现。 首先我们先介绍一下什么是私服&#xff0c;以及它的作用是什么。再来…

瑞吉苍穹外卖如何拓展?已经经过不同公司多轮面试。项目中会问到哪些问题?以及问题如何解决?

别催了&#xff0c;别催了&#xff0c;先收藏吧。 作者大大正在加班加点完成。 文章会尽快发布&#xff0c;关注收藏&#xff0c;尽请期待。 想要加入并查阅作者的知识库可以联系作者 不要白嫖&#xff0c;通过后&#xff0c;附上关注和收藏截图。 已有众多小伙伴加入 目前…

mysql读写分离方案

什么是读写分离&#xff1f; 读写分离就是将对数据库的读操作和写操作分散到不同的数据库节点上 如何实现读写分离&#xff1f; 因为更多的读多写少&#xff0c;所以为了缓解主库的读能力从而引入了从库&#xff0c;这样就可以减少主库的负担&#xff0c;从而解决了应用的并发…

【教程】移动互联网时代的APP上架流程和要点

目录 摘要 引言 正文 一、应用商店注册 二、准备APP材料 三、打包上传App 摘要 本文将介绍移动应用程序上架的基本流程和要点&#xff0c;包括应用商店注册、APP材料准备、打包上传App、APP审核以及发布APP的详细步骤。此外&#xff0c;还会提到利用appuploder工具简化i…

【JavaScript】面试手撕节流

引入 上篇我们讲了防抖&#xff0c;这篇我们就谈谈防抖的好兄弟 – 节流。这里在老生常谈般的提一下他们两者之间的区别,顺带给读者巩固下。 PS: 开源节流中节流与这个技术上的节流&#xff0c;个人认为本质上是一样的。 开源节流的节流指的是节省公司的金钱开支。前端技术上的…

Windows的Docker-Desktop安装与问题总结

目录 Docker-Desktop安装步骤 环境配置 Docker-Desktop安装问题总结 问题1&#xff1a;docker-desktop setting界面一直加载转圈 问题2&#xff1a;docker镜像的存储位置变更&#xff08;防止C盘空间不足&#xff09; 参考文献&#xff1a; Docker-Desktop安装步骤 环境…

Unity(第十八部)物理力学,碰撞,触发、关节和材质

1、重力 刚体组件 英文中文描述RigidBody刚体组件physics->rigidbody &#xff0c;刚体组件使一个物体有了质量&#xff0c;重力等。&#xff0c;use gravity 勾选后&#xff0c;物体才会受到重力&#xff0c;会自动下落&#xff0c;取消勾选就不会。&#xff0c;&#xf…

计算机网络物理层知识点总结

本篇博客是基于谢希仁编写的《计算机网络》和王道考研视频总结出来的知识点&#xff0c;本篇总结的主要知识点是第二章的物理层。上一章的传送门&#xff1a;计算机网络体系结构-CSDN博客 通信基础 物理层概念 物理层解决如何在连接各种计算机的传输媒体上传输数据比特流&am…

ElasticSearch搜索引擎使用指南

一、ES数据基础类型 1、数据类型 字符串 主要包括: text和keyword两种类型&#xff0c;keyword代表精确值不会参与分词&#xff0c;text类型的字符串会参与分词处理 数值 包括: long, integer, short, byte, double, float 布尔值 boolean 时间 date 数组 数组类型不…

汽车三元催化器的废品项目详解,三元催化再生项目的回收技术教学

一、教程描述 这是一个收废品项目&#xff0c;就收那些别人不懂的&#xff0c;三元催化器的附加值高&#xff0c;只要掌握技术&#xff0c;怎么玩都行的&#xff0c;只是要放得下你的面子。三元催化器&#xff0c;是安装在汽车排气系统中最重要的机外净化装置&#xff0c;它可…

CodeWhisperer安装教导--一步到位!以及本人使用Whisperer的初体验。

CodeWhisperer是亚马逊出品的一款基于机器学习的通用代码生成器&#xff0c;可实时提供代码建议。类似 Cursor 和Github AWS CodeWhisperer 亚马逊科技的CodeWhisperer是Amazon于2021年12月推出的一款代码补全工具&#xff0c;与GitHub Copilot类似。主要的功能有:代码补全注释…

网络编程学习

思维导图 代码练习 TCP实现通信 服务器端代码 #include <myhead.h> #define SER_IP "192.168.152.135" #define SER_PORT 8910 int main(int argc, const char *argv[]) {//&#xff11;创建用于监听的套接字int sfd -1;sfd socket(AF_INET,SOCK_STREAM,0)…

python中自定义报错

class MyError(Exception):def __init__(self,num):#录入的数Exception.__init__(self)self.numnumdef __str__(self):return 这是我定义的第%d个异常 %(self.num)使用 try:raise MyError(4) except MyError as e:print(e)raise 其作用是指定抛出的异常名称&#xff0c;以及异常…

【c++】通讯录管理系统

1.系统功能介绍及展示 2.创建项目 3.菜单实现 4.退出功能实现 5.添加联系人—结构体设计 6.添加联系人—功能实现 7.显示联系人 8.删除练习人—检测联系人是否存在 9.删除联系人—功能实现 10.查找联系人 11.修改联系人 12.清空通讯录 #include <iostream> #include <…

JavaScript类型转换

一些需要注意的数据类型&#xff1a; NaN的数据类型是numberArray、Date、null的数据类型是object未定义变量的数据类型是undefined 自动转换类型&#xff1a;尝试操作一个 “错误” 的数据类型时&#xff0c;会自动转换为 “正确” 的数据类型。 5 null // 返回 5 …

百度测试经理,对自动化测试初学者的一些忠告

前言 相信很多的测试人员都有这样的顾虑&#xff0c;初学自动化测试应该怎么去做&#xff0c;那么现在我就把我在百度测试岗学到的经验分享给大家&#xff0c;希望对你们有帮助。 为了大家在学习的道路上更加轻松&#xff0c;我还给大家整理了一套Python自动化测试学习资料以…

Vue全家桶:vue2+vue3全部搞懂:第五篇,Vue的watch监视器

前提&#xff0c;建议先学会前端几大基础&#xff1a;HTML、CSS、JS、Ajax&#xff0c;不然不好懂 这一专栏知识将一次性将vue、vue2、vue3全部讲明白 一、何为watch监视器 其实我个人理解&#xff0c;就跟原本的表单的input事件一样&#xff0c;实时监视事件发生并同步更新数…

RuoYi-Vue-Plus功能分析-jackson配置

文章目录 前言一、配置文件二、配置类三、注解四、json工具类1. 工具内容2. 使用工具 前言 前端在给我发送请求的时候一般包含三个部分url&#xff0c;header&#xff0c;body。那么就会涉及我们后端如何接收这些请求参数并且我们处理完毕参数后前端又如何接收参数 通过url传…