简述centos7如何安装和配置nginx

news2024/11/16 22:35:21

Nginx(发音为"engine x")是一个开源的高性能的 Web 服务器和反向代理服务器。它具有以下特点:

  1. 高性能:Nginx 采用事件驱动的异步架构,能够处理大量并发连接而不会占用过多的系统资源。它能够轻松应对高并发访问,并保持稳定的性能表现。

  2. 轻量级且可扩展:Nginx 的设计非常精简,核心模块只包含必要的功能,这使得它在资源消耗方面表现出色。同时,Nginx 也支持模块化的架构,可以根据需求灵活添加或移除功能模块。

  3. 热部署:Nginx 支持热部署,可以在不停机的情况下进行配置文件的更新和软件版本的升级。这意味着你可以实时更新网站配置,无需中断服务。

  4. 反向代理和负载均衡:Nginx 可以作为反向代理服务器,通过将请求转发到后端服务器提供内容。它还支持负载均衡,可以分发请求到多个后端服务器,提高网站的性能和可靠性。

  5. 静态内容和缓存:Nginx 非常适合用于提供静态内容,如图片、CSS 和 JavaScript 文件等。它还支持文件缓存和页面缓存,可以减轻后端服务器的负载并提高响应速度。

  6. 安全性和可靠性:Nginx 支持 SSL/TLS 加密传输,并提供强大的安全功能,如访问控制、防止 DDoS 攻击等,保护客户端和服务器之间的数据安全。

总的来说,Nginx 是一款功能强大、性能高效、配置简单且可靠稳定的 Web 服务器和反向代理服务器,被广泛应用于各种规模的网站和应用。

更多精彩内容,请 戳我 查看 。

centos7 安装ngix

要在CentOS 7上安装和配置Nginx,您可以按照以下步骤进行操作:

  1. 更新系统软件包:

    sudo yum update
    
  2. 安装Nginx:

    sudo yum install nginx
    
  3. 启动Nginx服务:

    sudo systemctl start nginx
    
  4. 设置Nginx开机自启:

    sudo systemctl enable nginx
    
  5. 配置Nginx:

    • 主要的Nginx配置文件位于/etc/nginx/nginx.conf,您可以使用文本编辑器(如vi或nano)进行编辑:

      sudo vi /etc/nginx/nginx.conf
      

      您可以按照需要进行修改,例如更改监听端口、配置虚拟主机等。

    • 在配置文件中,您可以使用server块来配置虚拟主机。示例如下:

      server {
          listen 80;  # 监听端口
          server_name example.com;  # 域名
      
          location / {
              root /var/www/html;  # 网站文件的根目录
              index index.html;  # 默认访问的文件
          }
      }
      

      您可以根据实际情况修改listenserver_namerootindex等参数。

    • 保存并退出配置文件。

  6. 检查Nginx配置是否正确:

    sudo nginx -t
    

    如果输出显示 syntax is ok,则表示配置正确。

  7. 重新加载Nginx配置:

    sudo systemctl reload nginx
    

现在,您已经成功安装和配置了Nginx。您可以在浏览器中访问服务器的IP地址或域名,以验证Nginx是否正常工作。默认情况下,Nginx会将网站文件放在/usr/share/nginx/html目录下。您可以将您的网站文件放置在该目录下,然后通过访问服务器的IP地址或域名来访问您的网站。

nigix 配置 proxy_pass

在 Nginx 中配置反向代理(proxy_pass),需要进行以下步骤:

  1. 打开 Nginx 配置文件,通常在 /etc/nginx/nginx.conf/etc/nginx/conf.d/ 目录下。
  2. http 块中添加一个新的 server 块,例如:
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend_server;
    }
}

在上述示例中,假设你的域名是 example.com,并且将所有请求代理到 http://backend_server

  1. location 块中配置 proxy_pass 指令,指定后端服务器的地址和端口。可以是 IP 地址或域名。

  2. 保存配置文件并退出编辑器。

  3. 检查配置文件是否正确,运行以下命令:

sudo nginx -t

这将验证配置文件的语法是否正确。

  1. 如果没有错误,重新加载 Nginx 配置,使配置生效:
sudo systemctl reload nginx

现在,Nginx 已经被配置为通过反向代理转发请求到指定的后端服务器。

请确保替换 http://backend_server 为实际的后端服务器的地址或域名,并根据需要修改其他配置选项。

实例

前端代码中配置代理,vite.config.js 如下:

import {
  defineConfig
} from "vite";

import react from "@vitejs/plugin-react";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    react({
      babel: {
        plugins: ["@babel/plugin-transform-react-jsx"],
      },
    }),
  ],
  server: {
    port: 80,
    cors: true,
    open: true,
    proxy: { 
      "/users": {
        target: "http://localhost:3000", 
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/users/, "/users"),
      }, 
    },
  },
});

nigix中相应配置 /etc/nginx/nginx.conf 如下:

...

server { 
   location /users
   {
      proxy_pass http://localhost:3000;
   }
}

... 

检查配置文件是否正确,运行以下命令:

sudo nginx -t

这将验证配置文件的语法是否正确。

如果没有错误,重新加载 Nginx 配置,使配置生效:

sudo systemctl reload nginx

扩展

Vim(Vi IMproved)是一个文本编辑器,是 Linux 和其他类 Unix 操作系统中的一部分。它是 vi 编辑器的增强版本,具有更多功能和改进的用户界面。

Vim 以其强大的编辑功能和高度可定制性而闻名。它支持各种编程语言,并具有代码高亮显示、自动缩进、语法检查和补全等功能。Vim 还提供了各种插件和扩展,使用户能够根据自己的需求进行个性化配置和定制。

Vim 的使用方式与传统的文本编辑器不同。它主要通过键盘上的快捷键组合来执行各种操作,例如光标移动、复制粘贴、搜索替换等。学习并熟练掌握 Vim 的操作方式可以提高编辑效率和工作效果。

Vim 是一个开源软件,可以在多个操作系统上使用,包括 Linux、Unix、macOS 和 Windows 等。许多程序员和开发者喜欢使用 Vim 来编辑代码和文本文件,因为它稳定、灵活且具有强大的功能。

vi 操作命令

在 vi 编辑器中,有许多常用的操作命令,下面列举一些常用的 vi 操作命令:

  1. 进入插入模式:

    • i:在当前光标位置前插入文本。
    • a:在当前光标位置后插入文本。
    • o:在当前行后插入新的一行,并进入插入模式。
    • O:在当前行前插入新的一行,并进入插入模式。
  2. 保存和退出:

    • :w:保存文件但不退出 vi 编辑器。
    • :wq:xZZ:保存文件并退出 vi 编辑器。
    • :q!:放弃所有更改并强制退出 vi 编辑器。
  3. 光标移动:

    • h:向左移动一个字符。
    • j:向下移动一行。
    • k:向上移动一行。
    • l:向右移动一个字符。
    • 0(数字零):移动到行首。
    • $:移动到行尾。
    • gg:移动到文件开头。
    • G:移动到文件末尾。
    • Ctrl + f:向下翻页。
    • Ctrl + b:向上翻页。
  4. 复制、剪切和粘贴:

    • yy:复制当前行。
    • dd:剪切当前行。
    • p:粘贴剪切板的内容。
  5. 撤销和重做:

    • u:撤销上一步操作。
    • Ctrl + r:重做上一步撤销的操作。

这里只是列举了一些常用的 vi 操作命令,还有其他更多的命令可供使用。要了解更多命令,请参考 vi 的相关文档或教程。

vi 全选

在 vi 编辑器中,要实现全选文本,可以按照以下步骤进行操作:

  1. 进入 vi 的命令模式:按下 Esc 键。
  2. 将光标移动到要开始选择的位置。
  3. 按下 ggVG 连续三个按键:
    • gg 将光标定位到文件的第一行。
    • V 进入可视行选择模式。
    • G 将光标定位到文件的最后一行。
  4. 执行上述操作后,文本将被全部选中。
  5. 可以进行其他操作,例如复制(按下 y 键)、剪切(按下 d 键)或粘贴(按下 p 键)等。

请注意,在不同的 vi 版本中,可能会有略微不同的快捷键。以上是在一般情况下适用的快捷键组合。

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

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

相关文章

1156. 单字符重复子串的最大长度;1497. 检查数组对是否可以被 k 整除;1510. 石子游戏 IV

1156. 单字符重复子串的最大长度 核心思想:利用滑动窗口text[i:j),不断滑动,滑动窗口中装的是重复的单字符。枚举好窗口,然后看窗口装的字符等于多少个,如果个数小于总个数,说明我们至少可以使它增加1&…

7.25 作业

1.做一个登录界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {this->setFixedSize(800,600);this->setWindowOpacity(0.9);this->setWindowTitle("登录");this->setWindowIcon(QIcon("E:\\hqyj\\Qt\\icon_h…

SystemVerilog 第2章:数据类型

在 Verilog中,初学者经常分不清reg和wire两者的区别。应该使用它们中哪一个来驱动端口?连接不同模块时又该如何做? Systemverilog对经典的reg数据类型进行了改进,使得它除了作为一个变量以外,还可以被连续赋值、门单元和模块所驱动。为了与寄存器类型相区别,这种改进的数据类…

Java连锁门诊医院HIS信息管理系统源码

Java连锁门诊医院HIS信息管理系统源码:SaaS运维平台多医院多机构多门诊入驻强大的电子病历完整开发文档 一、系统概述 ❉采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同…

RocketMQ第一课-快速实战以及集群架构搭建

一、RocketMQ产品特点 1、RocketMQ介绍 ​ RocketMQ是阿里巴巴开源的一个消息中间件,在阿里内部历经了双十一等很多高并发场景的考验,能够处理亿万级别的消息。2016年开源后捐赠给Apache,现在是Apache的一个顶级项目。 ​ 早期阿里使用Act…

【如何训练一个中译英翻译器】LSTM机器翻译模型部署(三)

系列文章 【如何训练一个中译英翻译器】LSTM机器翻译seq2seq字符编码(一) 【如何训练一个中译英翻译器】LSTM机器翻译模型训练与保存(二) 【如何训练一个中译英翻译器】LSTM机器翻译模型部署(三) 目录 系列…

通过两种实现方式理解CANoe TC8 demo是如何判断接收的以太网报文里的字段的

假设有一个测试用例,需求是:编写一个测试用例,发送一条icmpv4 echo request报文给DUT,identifier字段设置为10。判断DUT能够回复icmpv4 echo reply报文,且identifier字段值为10。 实现:在canoe的simulation setup界面插入一个test节点,ip地址为:192.168.0.1,mac地址为…

Tensorflow学习

一、处理数据的结构 案例代码如下: import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import numpy as np# create data x_data np.random.rand(100).astype(np.float32) y_data x_data*0.1 0.3# 创建结构(一维结构) Weights tf.Variable(tf.random.uniform(…

数据结构-顺序表各项功能的实现

文章目录 前言一、"SeqList.h"部分二、"SeqList.c"部分1.初始化2.销毁3.扩容及打印4.尾插及尾删5.头插及头删6.顺序表查找7.顺序表在pos位插入x8.顺序表删除low位置的数 三、"text.c"部分结语 前言 线性表是n个具有相同属性的有限数列&#xff0…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)五:后台主页功能实现上

一、本章内容 本章实现后台主页框架实现、菜单的动态加载及生产、tab组件与菜单绑定、菜单与路由绑定等,工具栏按钮等界面及对应功能实现。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览

(六)springboot实战——springboot的启动流程分析

前言 本节内容我们主要介绍一下springboot的启动流程,它内部是如何实现启动加载的,启动过程中都做了哪些工作,这是我们比较关注的问题。 正文 SpringBootApplication启动类注解的解读 - SpringBootConfiguration:等同于Configu…

WPF实战学习笔记09-创建工作单元

创建工作单元 添加包 Microsoft.EntityFrameworkCore.AutoHistory A plugin for Microsoft.EntityFrameworkCore to support automatically recording data changes history. Microsoft.EntityFrameworkCore.UnitOfWork A plugin for Microsoft.EntityFrameworkCore to suppor…

【Docker 实用技巧】动态切换国内外源

目录 前言: 1、背景 2、ChatGPT 的方案 3、我的方案 3.1 本地构建 3.2 Github Action 构建 3.3 实际方案 前言: Docker 是一个非常流行的开发和部署平台,它可以帮助开发者快速构建、部署和管理应用程序。在使用 Docker 的过程中&…

聊聊STM32 ADC的话题

STM32 微控制器系列提供了多个模拟数字转换器(ADC)模块,用于实现模拟信号的采集和转换为数字信号。ADC 在很多应用中都是非常重要的,例如传感器数据采集、电压测量等。 在 STM32 中,ADC 可以通过 STM32HAL 库提供的函…

Unity游戏源码分享-3d机器人推箱子游戏

Unity游戏源码分享-3d机器人推箱子游戏 一个非常意思的3D游戏 工程地址:https://download.csdn.net/download/Highning0007/88098014

leetcode5. 最长回文子串(Manacher - java)

Manacher回文算法 leetcode5. 最长回文子串Manacher 算法 manacher 算法 leetcode5. 最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s “…

pear文件利用 (远程文件下载、生成配置文件、写配置文件) 从一道题看——CTFshow私教 web40

web40 考点:pear文件包含 pear是PHP的一个扩展 条件: 1 有文件包含点 2 开启了pear扩展 (可以当他是一个框架) 3 配置文件中register_argc_argv 设置为On,而默认为Off($_SERVER[‘argv’]生效) 4 找到…

互联网创业项目整合:提高成功率的关键方法

互联网创业是当前非常火热的话题,但是市场竞争也异常激烈,成功率不高。今天,我来分享一些互联网创业项目整合的方法,帮助大家创造更大的机会。 1️⃣ 选择适合自己的领域 在选择创业项目时,一定要根据自己的专业、兴…

kafka权威指南学习

0、kafka常用命令 Kafka是一个分布式流处理平台,它具有高度可扩展性和容错性。以下是Kafka最新版本中常用的一些命令: 创建一个主题(topic): bin/kafka-topics.sh --create --topic my-topic --partitions 3 --replic…

【Nodejs】Express基本使用

Express 中文网 基于 Node.js 平台,快速、开放、极简的 web 开发框架。 1.Express的安装方式 Express的安装可直接使用npm包管理器上的项目,在安装npm之前可先安装淘宝镜像: npm install -g cnpm --registryhttps://registry.npmmirror.com/…