当前位置: 首页 > news >正文

nginx 安装

Nginx 简介

  • nginx一种十分轻量级的http服务器
  • 一种高性能的HTTP和反向代理服务器,同时是一个IMAP/POP3/SMTP 代理服务器
  • 其中官网网站

安装Nginx

使用源码编辑安装

#提前安装相关工具软件包
yum -y install net-tools tar unzip gcc make pcre-devel openssl-devel httpd-tools  # gcc make 编译工具   pcre-devel 开发用的正则表达式依赖包 (提供.h库)  openssl-devel  开发用的ssl加密依赖包(提供.h库)  net-tools  网络相关软件包 httpd-tools 提供htpasswd命令的相关工具#解压nginx包
tar -xf nginx-1.22.1.tar.gz
#进入nginx目录
cd nginx-1.22.1
#生成适合当前系统的MakeFile文件,用于后续的编辑和安装
./configure --prefix=/usr/local/nginx  #指定安装路径
--user=nginx	#指定用户
--group=nginx  #指定用户组
--with-http_ssl_module 	#开启ssl加密功能make  # 编译
make install #安装#进入nginx工作路径
cd /nsr/local/nginx#其中
conf/nginx.conf 是配置文件  其备份默认配置文件在conf/nginx.conf.default 
pass 是用户认证记录文件
html/index.html 是默认网页访问路径
sbin/nginx  是主程序

nginx相关用法

/usr/local/nginx/sbin/nginx #启动服务
/usr/local/nginx/sbin/nginx -s stop #关闭服务  其中 -s 表示发送信号sign
/usr/local/nginx/sbin/nginx -s reload #重加载配置文件
/usr/local/nginx/sbin/nginx -V #查看nginx信息,可以查看到./configure 配置的信息ss -ntulp # ss 查看系统启动的端口信息 -n 以数字格式显示端口号  -t/u 显示TCP和UDP连接的端口  -l 显示服务正在监听的端口信息,比如httpd启动后,一直监听80端口动态 -p 显示监听端口的服务名称是什么(程序名) -a 显示所有端口信息#测试curl  http://192.168.99.5  #出现nginx欢迎界面

加入用户认证(ssl加密)

修改配置文件 /usr/local/nginx/sbin/nginx/conf/nginx.conf
添加如下两行

        auth_basic "Input Password:";                        #认证提示符信息auth_basic_user_file  "/usr/local/nginx/pass";        #认证的密码文件
server {listen       80;server_name  localhost;auth_basic "Input Password:";                        #认证提示符信息auth_basic_user_file  "/usr/local/nginx/pass";        #认证的密码文件location / {root   html;index  index.html index.htm;}}htpasswd -c /usr/local/nginx/pass tom #创建账户和密码,并记录在/usr/local/nginx/pass 文件中
/usr/local/nginx/pass  -s reload #重新加载配置才可生效#测试
curl http://192.168.99.5  #会提示认证提示,输入账户密码,测试过程中需要清除缓冲保证实验顺利进行

实现基于域名的虚拟主机

实现两个基于域名的虚拟主机,分别为www.a.com,www.b.com,可通过两个域名解析为192.168.99.5进行访问
提前配置/etc/hosts 文件

#追加
192.168.99.5 www.a.com www.b.com

添加虚拟站点

    [root@proxy nginx]# vim /usr/local/nginx/conf/nginx.confhttp {.. ..server {listen       80;                                      #端口server_name  www.b.com;                    #新虚拟主机定义域名location / {root   html_b;                                    #指定网站根路径index  index.html index.htm;            #默认页面}}server {listen  80;                                        #端口server_name  www.a.com;                     #默认的虚拟主机,修改域名location / { root   html;                                 #指定网站根路径index  index.html index.htm;}}}#测试通过curl访问两个不同域名看到两个不同的页面#修改listen 80 为 listen 122 监听端口
可通过哦curl ip:122 访问

配置SSL虚拟主机

对ssl处理的站点添加ssl相关指令,设置对应的非对称加密(私钥,密钥)
修改nginx.conf配置文件

    [root@proxy nginx]#vim  /usr/local/nginx/conf/nginx.conf… …    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   https;                        #加密网站根目录index  index.html index.htm;}}
[root@proxy nginx]#openssl genrsa > conf/cert.key            #生成私钥
[root@proxy nginx]#openssl req -x509 -key conf/cert.key > conf/cert.pem    #生成公钥(证书)[root@proxy nginx]# echo "https~~~~ "  > https/index.html     #创建安全网站的页面
[root@proxy nginx]# sbin/nginx -s reload    #重加载配置
[root@proxy nginx]# curl  -k  https://192.168.99.5     #测试,-k是忽略安全风险
https~~~~      #看到这个内容就说明实验成功

相关文章:

nginx 安装

Nginx 简介 nginx一种十分轻量级的http服务器一种高性能的HTTP和反向代理服务器,同时是一个IMAP/POP3/SMTP 代理服务器其中官网网站 安装Nginx 使用源码编辑安装 #提前安装相关工具软件包 yum -y install net-tools tar unzip gcc make pcre-devel openssl-devel httpd-too…...

手撕扩散模型(一)| 训练部分——前向扩散,反向预测代码全解析

文章目录 1 直接使用 核心代码2 工程代码实现2.1 DDPM2.2 训练 三大模型VAE,GAN, DIffusion扩散模型 是生成界的重要模型,但是最近一段时间扩散模型被用到的越来越多的,最近爆火的OpenAI的 Sora文生视频模型其实也是用了这种的方…...

linux 防火墙

防火墙分类 按保护范围划分 主机防火墙:服务服务为当前一台主机 网络防火墙:服务服务为防火墙一侧的局域网 按实现方式分类划分 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一部分基于软件的实现 如:华为&#…...

Go应用性能分析实战

Go很适合用来开发高性能网络应用,但仍然需要借助有效的工具进行性能分析,优化代码逻辑。本文介绍了如何通过go test benchmark和pprof进行性能分析,从而实现最优的代码效能。原文: Profiling Go Applications in the Right Way with Examples…...

MySQL的索引类型

目录 1. 主键索引 (PRIMARY KEY) 2. 唯一索引 (UNIQUE) 3. 普通索引 (INDEX) 4. 全文索引 (FULLTEXT) 5. 空间索引 (SPATIAL) 6. 组合索引 (COMPOSITE INDEX) 7. 前缀索引 (PREFIX INDEX) 8. 覆盖索引 (COVERING INDEX) 1. 主键索引 (PRIMARY KEY) 描述:表…...

picker选择器-年月日选择

从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。 学习一下日期选择器 平台差异说明 日期选择默…...

【LeetCode-494】目标和(回溯动归)

目录 LeetCode494.目标和 题目描述 解法1:回溯法 代码实现 解法2:动态规划 代码实现 LeetCode494.目标和 题目链接 题目描述 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 和 -。对于数组中…...

力扣 188. 买卖股票的最佳时机 IV

题目来源:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ C题解:动态规划 思路同力扣 123. 买卖股票的最佳时机 III-CSDN博客,只是把最高2次换成k次。如果思路不清晰,可以将k从0写到4等找找规律…...

【Go语言】Go项目工程管理

GO 项目工程管理(Go Modules) Go 1.11 版本开始,官方提供了 Go Modules 进行项目管理,Go 1.13开始,Go项目默认使用 Go Modules 进行项目管理。 使用 Go Modules的好处是不再需要依赖 GOPATH,可以在任意位…...

美容小程序:让预约更简单,服务更贴心

在当今繁忙的生活节奏中,美容预约常常令人感到繁琐和疲惫。为了解决这个问题,许多美容院和SPA中心已经开始采用美容小程序来简化预约流程,并提供更加贴心的服务。在这篇文章中,我们将引导您了解如何制作一个美容小程序&#xff0c…...

【递归】:原理、应用与案例解析 ,助你深入理解递归核心思想

递归 1.基础简介 递归在计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 例如 递归遍历环形链表 基本情况(Base Case):基本情况是递归函数中最简单的情况,它们通常是递…...

【 Maven 】花式玩法之多模块项目

目录 一、认识Maven多模块项目 二、maven如何定义项目的发布策略 2.1 版本管理 2.2 构建配置 2.3 部署和发布 2.4 依赖管理 2.5 发布流程 三、使用Jenkins持续集成Maven项目 四、总结 如果你有一个多模块项目,并且想将这些模块发布到不同的仓库或目标位置&…...

LeetCode 热题 100 Day01

哈希模块 哈希结构: 哈希结构,即hash table,哈希表|散列表结构。 图摘自《代码随想录》 哈希表本质上表示的元素和索引的一种映射关系。 若查找某个数组中第n个元素,有两种方法: 1.从头遍历,复杂度&#xf…...

[vscode]vue js部分结尾加分号

设置中寻找 semicolons确定在TypeScript的这个扩展中设置选项为insert...

友点CMS image_upload.php 文件上传漏洞复现

0x01 产品简介 友点CMS是一款高效且灵活的网站管理系统,它为用户提供了简单易用的界面和丰富的功能。无论是企业还是个人,都能通过友点CMS快速搭建出专业且美观的网站。该系统支持多种内容类型和自定义模板,方便用户按需调整。同时,它具备强大的SEO功能,能提升网站在搜索…...

C语言—指针(3)

嘿嘿嘿嘿,你看我像指针吗? 不会写,等我啥时候会写了再说吧,真的累了,倦了 1.面试题 1)定义整形变量i; 2)p为指向整形变量的指针变量; 3)定…...

【八股文】面向对象基础

【八股文】面向对象基础 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。 创建一个对象用什么运算符?对象实体与对象引用有何不同? …...

Day49 647 回文子串 516 最长回文子序列

647 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 方法一:动态规划: 采用一个二维的dp数组&#xf…...

探秘GNU/Linux Shell:命令行的魔法世界

GNU/Linux的Shell是一种特殊的交互式工具,为用户提供了强大的控制和管理Linux系统的方式。在这个博客中,我们将深入了解Shell的基本概念、功能以及不同类型的Shell。 Shell的本质 Shell的核心是命令行提示符,它是用户与Linux系统进行交互的…...

基于STM32F407的coreJSON使用教程

目录 概述 工程建立 代码集成 函数介绍 使用示例 概述 coreJSON是FreeRTOS中的一个组件库,支持key查找的解析器,他只是一个解析器,不能生成json数据。同时严格执行 ECMA-404 JSON 标准。该库用 C 语言编写,设计符合 ISO C90…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色&#xf…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...