Nginx学习 (1) —— 初识Nginx(编译安装、启动停止、简单配置)

02-Nginx安装与常用命令 对于C/C++语言的编译器,使用最多的是 gcc 与 gcc-c++,而这两款编译器在 CentOS7 中是没有安装的,所以首先要安装这两款编译器。由于Nginx 服务器默认的端口号为 80,所以在浏览器中直接输入 Nginx 的主机名或 IP, 就可以看到 Nginx 欢迎页面。在 Nginx 的安装目录/usr/local/nginx 中有一个 sbin 目录,其中存放着 nginx 的命令程序。进入到/usr/apps 目录中的Nginx 解压包目录,查看Nginx 的目录。 阅读详情

Nginx的发行版本

  1. Nginx开源版:http://nginx.org/
    比较干净,主要就完成了网站服务器、代理服务器、负载均衡服务器。没有其他额外的功能。
  2. Nginx plus商业版:https://www.nginx.com
    由F5官方出品,在原有nginx上增加了很多使用的功能。
  3. Openresty:http://openresty.org/
    nginx+lua进行了完美整合。
  4. Tengine:http://tengine.taobao.org/

Nginx的编译安装(ubuntu18.04)

  1. 下载源码 http://nginx.org/download/nginx-1.22.1.tar.gz

    解压tar包

    tar -zxvf nginx-1.22.1.tar.gz
    
  2. 进入解压后的目录: cd nginx-1.22.1

  3. 安装所需依赖库:

    sudo apt install gcc
    sudo apt-get install libpcre3-dev
    sudo apt install zlib1g-dev
    
  4. sudo ./configure --prefix=/usr/local/nginx
    显示下列信息表示成功
    在这里插入图片描述

  5. 编译:

    sudo make
    sudo make install
    
  6. 启动服务:

    cd /usr/local/nginx/sbin
    sudo ./nginx
    

    如果启动报错
    在这里插入图片描述
    说明80端口被占用
    解决办法:

    sudo netstat -natp| grep 80   	// 找到占用80端口的进程
    sudo killall -9 xxx				// 杀掉该进程
    或者
    sudo service xxx stop			// 停止占用80端口的服务
    

    在这里插入图片描述

    再次启动nginx

    在浏览器输入ip,若访问超时:

    systemctl stop firewalled.service	// 关闭防火墙
    或者
    firewall -cmd --zone=public --add-port=80/tcp --permanent	// 防火墙放行80端口(nginx默认是占用80端口)
    
  7. 浏览器输入ip地址访问:显示如下表示成功
    在这里插入图片描述

Nginx相关操作

Nginx启动停止命令

sudo ./nginx			// 启动
sudo ./nginx -s stop	// 停止
sudo ./nginx -s quit	// 优雅关闭,在退出之前完成已经接收的请求任务
sudo ./nginx -s reload	// 重新加载配置文件

安装Nginx为系统服务

对于初次安装Nginx的Linux系统来说是不支持 service 和 systemctl 命令启动的
在这里插入图片描述

如下操作可以使 service 和 systemctl 命令来操作nginx的启动停止

vi /usr/lib/systemd/system/nginx.service	// 没有system目录可以创建一个
systemctl daemon-reload		// 重新加载系统服务

// 输入内容如下,注意安装路径不是/usr/local/nginx的话需要修改成对应的路径
[Unit]
Description=nginx web service
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
privateTmp=true

[Install]
WantedBy=multi-user.target

Nginx的目录结构与基本原理

目录结构:

在这里插入图片描述

基本运行原理:

在这里插入图片描述
nginx启动时会启动主进程,负责读取配置文件并做校验,校验成功后会fork()多个子进程,此后主进程主要的工作就是协调子进程进行工作。
当一个用户请求进来后,首先由worker子进程解析这一次请求(因为子进程是知道配置文件的内容的,所以子进程可以判断该请求的资源是否存在)发现请求是想获取index.html文件,然后做出响应。

基础配置:

核心配置

nginx.conf文件中的配置:(启动nginx需要的最少配置)

  • worker_processes 1;// 配置在启动nginx的时候需要启动多少个worker子进程。这主要取决于服务器硬件的牛皮程度,硬件不行配置参数高了效率反而会变低。基本配置逻辑主要还是一个CPU内核对应一个worker_processes
  • events { worker_connections 1024; } // 事件驱动模块,worker_connections配置每一个worker_processes可以创建多少个连接。
  • http{…}:
    • include mime.types; // 配置include引用其他配置文件。(mime.types,根据后缀名配置文件的类型,比如照片文件、文本文件还是什么类型都在mime.types文件中配置。 注意: mime.types文件配置的类型是返回给客户端让客户端去解析的)
    • default_type application/octet-stream; // 默认文件类型。mime.types文件总不能把所有文件类型都配置上,总会出现没见过的后缀,此时就返回这个默认文件类型让客户端去解析。
    • sendfile on; // 数据零拷贝。(后续详细理解)
    • keepalive_timeout 65; // 保持连接超时的时间。
    • server{…}:一个server模块表示一个主机
      • listen 80; // 指监听的端口号。
      • server_name localhost; // 当前这台主机的主机名,这个字段还可以配置域名。
      • location{…} // URI 资源定位所需要的所有信息。一个主机可以配置多个location。
        • root html; // 跟nginx/html文件夹是一一对应的。
        • index index.html index.htm;// 默认页。
      • error_page 500 502 503 504 /50x.html;// 当出现错误码为配置的内容时就跳转到50x.html
      • location = 50x.html {root html}:报错文件找不到的时候,将定位到html文件夹去找50x.html

nginx.conf有上述配置即可启动

源码编译安装Nginx并设置开机自启动 切换目录 #cd /usr/local/src 下载Nginx: #wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压源码: #tar -zxvf nginx-1.16.0.tar.gz 配置源码: #cd nginx-1.16.0 #./configure --prefix=/usr/local/nginx 编译安装: ... 阅读详情

相关推荐

Deepin编译安装nginx

第一种方式:sudo apt install nginx 第二种方式:编译安装nginx 1:添加禁止登陆的用户 groupadd nginx useradd -g nginx -s /sbin/nologin nginx 2:安装依赖库 sudo apt-get install build-essential libtool libpcre3 libpcre3-dev zlib1...

wester的博客 7359

Ubuntu中如何停止Nginx

本文提供了三种方法来停止在Ubuntu中运行的Nginx服务:使用D进程管理器、使用systemctl命令和使用kill命令。选择最适合您需求的方法,然后停止Nginx服务进程。使用kill命令可以直接结束进程,而不是停止服务。此命令将显示所有当前正在运行的Nginx进程和其相应的PID。有三种方法可以停止Nginx服务:使用系统D进程管理器、使用systemctl命令以及使用kill命令。您也可以使用systemctl命令来停止Nginx服务。使用该命令会直接停止Nginx服务并结束其进程。

FREE_CYZ的博客 2409

nginx编译安装

一.nginx安装1.关闭防火墙2.上传安装包指opt目录下3.安装依赖包4.创建运行用户、组 5.编译安装6.检查、启动、重启、停止nginx服务7.添加Nginx系统服务​ 二.配置文件介绍1.全局配置 2.I/O事件配置​ 3.HTTP配置 3.安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c++ makecd /opt tar zxvf nginx-1.12.0.tar.gz -C /opt/ cd nginx-1.12

APY2580147369的博客 2165

Nginx安装及其常用命令(实操版)

Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用 Nginx处理静态页面,Tomcat 处理动态页面。动静分离从目前实现角度来讲大致分为两种,一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。通过 location 指定不同的后缀名实现不同的请求转发。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 3128

1. Nginx 编译安装配置

CentOS 7 下安装 Nginx 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用CentOS7 作为安装环境。 # rpm -qa|grep gcc 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install...

木棍先生的博客 319

NginxU:buntu安装及启动服务

Ubuntu22.04下安装nginx只需通过命令:安装好后,可以通过如下命令进行检查:nginx -v启动nginx服务:停止nginx服务:重启nginx服务:重新加载nginx配置文件:查看nginx状态:启动nginx服务后,可以打开浏览器访问127.0.0.1,会有一个默认的web页面:

风静如云的博客 7508

CentOS安装配置Nginx

CentOS安装配置Nginx

CCH2024的专栏 2万+

如何在 Ubuntu 操作系统上重新启动 Nginx?

Nginx 是一个常用的开源的高性能 Web 服务器和反向代理服务器。在使用 Nginx 时,有时需要重新启动该服务,以应用配置更改或解决某些问题。本文将详细介绍在 Ubuntu 操作系统上重新启动 Nginx 的不同方法和技巧。

网络技术联盟站 4874

nginx-1.22的编译安装

首先保证服务器有 nginx,本次对源码nginx-1.22.0.tar.gz 包,解压并进行编译,安装。Server_name 如果只是nginx服务的话,填写nginx所在机器的ip就行。上传nginx-1.22.0.tar.gz到/app下,进行解压,编译如下。在/app目录下新建nginx用户编译后nginx文件存放位置。查看nginx端口:ps aux|grep nginx。第一种方式:./nginx -s quit。第二种方式:./nginx -s stop。检查nginx服务是否启动。

Nicoleyuan666的博客 1360

AUTOSAR实战:手把手教你配置EthTsync模块,搞定车载以太网时间同步

本文详细解析AUTOSAR架构中EthTsync模块的配置方法,实现车载以太网时间同步。通过对比gPTP与PTP协议差异,提供从开发环境准备到参数配置、模块集成的全流程指南,并分享性能优化与调试技巧,帮助开发者实现微秒级同步精度,满足自动驾驶等高精度时间同步需求。

weixin_28736335的博客 374

【GPIO模拟串口通信协议】

由于这段时间搞了个安卓相关的项目,需要和安卓进行Uart通信。但是选用的芯片并没有自带uart功能,所以在充分评估项目后,考虑波特率不高的情况下,决定使用GPIO去模拟串口通信协议了。

学海无涯苦作舟 2638

启动Nginx、重启Nginx、停止Nginx与Nginx开机自启

文章目录启动Nginx停止nginxservice 服务脚本Nginx 开机自启 启动Nginx nginx安装完成后,切换到nginx安装目录中的sbin目录(如果在执行 ./configure 没有指定额外的参数,则sbin目录为默认目录,否则切换到自定义目录),通过执行该目录下nginx编译后的二进制文件即可启动程序。 cd /usr/local/nginx/sbin/nginx ./nginx 执行上面的操作后,成功启动nginx,程序是没有任何提示的。我们可以使用ps命令查看nginx的运行状态

@日月空@的博客 1万+

SAP LSMW数据批导操作手册及跨客户端传输方法(涉及默认值配置,及多余字段如何删除)

SAP LSMW数据批导操作手册及跨客户端传输方法

我好像病了的博客 6086

linux nginx安装以及配置

一、Nginx简介 Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月...

qq_31965515的博客 1万+

GEOS-Chem笔记——模式下载安装+驱动数据+运行流程

看过我博客的会发现我写了很多CESM的笔记,但是说实话,平时科研我其实更多时候是GEOS-Chemuser。之所以写了很多CESM笔记,其实是因为不会,就边学边写。然后GEOS-Chem已经用比较熟了,所以也没想过做笔记啥的。但是我发现越来越多朋友私信我各种CESM问题,我觉得我可能给大家营造了一种我是CESM达人的错觉。感觉自己有点跑偏了呢。公平起见,我觉得我有必要补充点GEOS-Chem笔记。 GEOS-Chem是研究大气化学的人常用的大气化学传输模式,在全世界范围的大气化学研究组中被广泛使用。不过.

砍柴姑娘Jourosy的博客 1万+

unity shader 后处理实现水墨风格渲染「Low Poly 」变「水墨画 」

水墨风格渲染 这次学校的比赛打算做一个中国古代背景的游戏,所以尝试做了水墨风格的渲染。 主要按以下四步来实现的效果: 根据色调和饱和度调整饱和度。 对图像进行模糊 水墨风格的物体边缘 物体内画笔笔触的模拟 接下来我分别就这四步依次展开说明: 调整饱和度 这里我使用Post-Processing Stack 的Color Grading 来调节饱和度,通过使用Grading Curv...

九级铁甲蛹的博客 1万+

【编译安装】使用CentOS7安装编译安装nginx-1.22版本实战

centos7编译安装nginx

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 2378

Qt5.12.12安卓开发环境搭建:Windows下避开SDK版本坑的保姆级教程

本文提供Qt5.12.12在Windows下搭建Android开发环境的详细教程,重点解决SDK版本兼容性问题,特别是cmdline-tools与JDK8的匹配陷阱。通过精准选择组件版本、手动配置路径和修复常见错误,帮助开发者高效完成环境配置,适用于Qt跨平台移动开发。

weixin_33737774的博客 542

nginx安装启动配置

/nginx 命令运行的是一个独立的 NGINX 进程,但是,正常情况下,应该使用 systemd 来启动和管理 NGINX 服务。首先有一个问题,为什么有些博客在写到启动nginx使用’sudo systemctl start nginx’命令,但是直接在xshell中使用这个命令,报错’Failed to start nginx.service: Unit not found.',为什么这个命令是没有运行成功的?nginx的默认安装路径在’/usr/local’下,如果修改需要在安装时特别指定。

哈哈哈哈 3119

PLC凸轮开关指令编程应用——控制算法

凸轮开关指令的作用是在PLC程序中根据凸轮开关(Cam Switch)的状态执行不同的操作。凸轮开关通常是机械式的开关装置,它的位置会随着机械运动的变化而改变。凸轮开关的状态可以用来检测机器的位置、角度或其他相关信息,从而触发相应的控制动作。总结起来,凸轮开关指令是PLC编程中常用的一种控制算法,通过检测凸轮开关的状态来触发相应的操作。本文将介绍凸轮开关指令的应用和相应的控制算法,并提供相关的源代码示例。在这个示例中,凸轮开关状态的值代表不同的位置,根据凸轮开关状态的不同,执行相应的动作。

LiJavascript的博客 1034

【C++】ROS:ROS1环境配置与基础示例

ROS1环境配置与基础示例

DevFrank的博客 2103

centos 7.6 安装 nginx 1.24.0 介绍、安装、配置、使用

Nginx(发音为"engine-x")是一个开源的高性能、高可靠性的HTTP服务器和反向代理服务器,也可以用作邮件代理服务器。它最初由Igor Sysoev于2004年创建,现在由Nginx公司和开源社区共同维护。以下是Nginx的一些主要特点和用途:高性能: Nginx以其出色的性能而闻名,可以处理大量并发连接,高效地提供静态内容,以及有效地处理动态内容。反向代理: Nginx经常用作反向代理服务器,将客户端的请求转发到后端服务器,然后将响应返回给客户端。

OceanWaves1993的博客 4840

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ubuntu编译安装nginx+增加ng模块

-with代表要添加的模块在后面跟着就行然后make千万不要make install!进行gz包的解压---解压到/usr/local并进行修改名字nginx。将objs内的nginx放到/usr/local/nginx/sbin//usr/local/nginx/sbin/nginx 启动nginx。检查Nginx配置文件的语法和语义错误: nginx -t。安全停止 Nginx 服务: nginx -s quit。查看nginx的版本和模块 nginx-V。在nginx的包内有这些内容。

G3088141049的博客 1873

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

在linux系统下安装两个nginx以及启动、停止、重起

如果没有安装过nginx请看:linux下nginx部署以及配置详解 1、第一个nginx已经安装完成后,现在安装第二个nginx 启动:sudo /usr/sbin/nginx3 重起:sudo /usr/sbin/nginx3 -s reload 停止:sudo /usr/sbin/nginx3 -s stop 一、进入nginx目录进行编译安装 1、切换目录: ...

weixin_42981419的博客 9969

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[NGINX] NGINX下载、安装编译、启动检查停止命令

注:编译后会在安装目录的同层(/soft/nginx/)生成nginx应用目录,相关配置、启动在此层。而不是在安装目录下一层(/soft/nginx/nginx-1.21.6/)或者使用whereis nginx查看软件目录,如果查询没有反应,以前者为准。建议内网先下载安装包和依赖通过介质拷贝至系统;

weixin_42728126的博客 2232

内网环境安装nginx【由rpm包+tar包完成】、tar包安装的nginx服务启动停止重启和查看状态

文章目录说明安装过程rpm包和tar包准备安装gcc安装gcc-c++验证上面是否安装成功安装PCRE回到pcre的tar包所在路径解压配置,环境检查编译并安装安装libtool回到libtool的tar包所在路径解压配置,环境检查编译并安装安装nginx回到nginx的tar包所在路径解压配置,环境检查编译并安装常用命令【必看】启动nginx配置文件说明启动nginx停止nginx重启nginx查看nginx端口或者状态测试 说明 nginx是干啥的不需要我说了吧,如果想了解的我博客中有nginx的说

崔崇鑫的博客,你linux/云运维工作中的百科全书。 6472
上一篇: Qt基础学习笔记
下一篇: Nginx学习 (2) —— 虚拟主机配置
丶星下灯
博客等级 码龄6年 125粉丝 77原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值