麒麟系统—— openKylin 安装 Nginx

麒麟系统—— openKylin 安装 Nginx

  • 一、准备工作
    • 1. 确保麒麟系统 openKylin 已经安装完毕。
  • 二、下载 nginx
  • 三、解压与运行
    • 解压
    • 检查与编译
    • 安装编译
    • 运行
  • 四、配置
    • 加入到服务中
    • 加入环境变量
    • nginx 配置文件
  • 五、常用命令


Nginx 是一款高性能的 HTTP 和反向代理服务器,广泛应用于 Web 服务器领域。本文将分享如何在麒麟系统(openKylin)上安装 Nginx 1.24.0 版本。

Nginx 简要概况:

特点/用途描述
高性能被设计为高性能和高并发的Web服务器,能够有效处理大量并发连接。
反向代理可以作为反向代理服务器,将客户端请求转发给后端服务器。
负载均衡支持负载均衡,能够分发请求到多个后端服务器,提高系统性能。
静态文件服务优秀的静态文件处理,通过高效的文件传输提供快速的响应。
SSL/TLS 支持提供安全的 HTTPS 连接,支持加密协议保护数据传输。
模块化架构采用模块化架构,允许用户通过添加模块来扩展其功能。
热部署允许在运行时动态加载和卸载模块,无需重新启动服务器。
日志记录提供详细的访问日志,方便管理员监控和分析服务器性能和访问情况。

一、准备工作

1. 确保麒麟系统 openKylin 已经安装完毕。

我这里使用的鸿蒙系统是 :openKylin 1.0.1 X86

lsb_release -a

在这里插入图片描述

二、下载 nginx

通过下面地址进入下载

https://nginx.org/en/download.html

在这里插入图片描述

版本类型中文解释
Mainline Version主线版本主线版本通常是指正在进行开发的主要代码分支。这是开发人员正在积极工作的分支,其中包含最新的功能和修复。在主线版本上进行的更改可能还未经过完全的测试,因此它可能不稳定。
Stable Version稳定版本稳定版本是在主线版本经过一定程度的测试和修复之后的版本。它应该更加可靠和稳定,适合用于生产环境。在这个阶段,主要关注 bug 修复和性能优化,而不是引入新的功能。
Legacy Versions遗留版本遗留版本指的是旧的版本,通常是在软件发展的过程中被替代或不再活跃的版本。这些版本可能不再得到支持和更新,而且通常建议用户升级到更新的版本以获取更好的功能、性能和安全性。

下载成功后,放到 /home/app 这个路径

mkdir /home/app
cd /home/app
ls

在这里插入图片描述

三、解压与运行

解压

cd /home/app
sudo tar -xvf nginx-1.24.0.tar.gz
mkdir /usr/local/web-tool
mv /home/app/nginx-1.24.0 /usr/local/web-tool/nginx
cd /usr/local/web-tool/nginx

sudo tar -xvf nginx-1.24.0.tar.gz

  • sudo: 以超级用户权限执行命令,通常需要输入管理员密码。这是为了确保解压缩操作具有足够的权限。

  • tar: 这是 Linux/Unix 系统上用于处理归档文件的命令。

  • -x: 该选项表示解压缩,也就是从归档文件中提取数据。

  • -v: 该选项表示在终端上显示详细信息,即输出解压缩的过程。

  • -f: 该选项用于指定要操作的归档文件的名称。在这个命令中,后面紧跟着的是 nginx-1.24.0.tar.gz,即要解压缩的文件名。

在这里插入图片描述
mv /home/app/nginx-1.24.0 /usr/local/nginx

  • mv 是 move 的缩写,用于移动文件或目录。
  • /home/app/nginx-1.24.0 是源目录或文件的路径。
  • /usr/local/nginx 是目标目录的路径。
  • 这个命令的作用是将位于 /home/app/nginx-1.24.0 的目录或文件移动到 /usr/local/nginx 目录下。

cd /usr/local/nginx

  • cd 是 change directory 的缩写,用于改变当前工作目录。
  • /usr/local/nginx 是目标目录的路径。
  • 这个命令的作用是将当前工作目录更改为 /usr/local/nginx,以便在该目录下执行后续的命令。

检查与编译

./configure

在Nginx中执行./configure是启动Nginx的配置脚本,它的作用是根据系统和需求生成适用于当前环境的Makefile文件。

  1. 检查系统环境: ./configure会检查当前系统的配置和环境,包括操作系统类型、已安装的软件和库等。

  2. 生成Makefile: 根据系统环境的检查结果,./configure会生成一个Makefile文件。Makefile包含了构建、编译和安装Nginx所需的指令和参数。

  3. 配置编译选项: ./configure提供了许多选项,可以用来配置Nginx的编译参数。指定安装目录、启用或禁用特定模块、设置调试选项等。

  4. 生成配置文件: 在配置过程中,可能会生成一个nginx.conf文件或其他相关的配置文件,其中包含了一些默认的Nginx配置。

  5. 准备编译环境: 在生成Makefile后,通常会运行make命令来实际编译Nginx。在此之前,./configure会确保系统环境和编译参数都已准备就绪。

在这里插入图片描述

安装编译

make
sudo make install

make:

  • make 是一个构建工具,用于自动构建(编译)项目,通常通过读取一个名为 Makefile 的文件来执行一系列指定的构建规则。Makefile 包含了项目的构建信息,包括文件依赖关系和构建步骤。
  • 当您运行 make 命令时,它将查找当前目录中的 Makefile 文件,并执行文件中定义的规则以构建目标。在这种情况下,make 通常用于编译源代码并生成可执行文件或库。

sudo make install

  • make installmake 命令的一个特定规则,它通常用于将已经编译完成的软件安装到系统中。这一步通常会将可执行文件、配置文件和其他必要的资源复制到系统的标准位置,以便软件可以在系统中正常运行。

下面是我安装成功的图片。

在这里插入图片描述

运行

sudo /usr/local/nginx/sbin/nginx

在这里插入图片描述

执行后,访问网址就可以得到经典的开始界面

在这里插入图片描述

四、配置

加入到服务中

创建文件

sudo vim /etc/systemd/system/nginx.service

写入配置

[Unit]
Description=nginx
After=network.target

[Service]
ExecStart=/usr/local/nginx/sbin/nginx
User=root
Restart=always

[Install]
WantedBy=multi-user.target

启用配置

sudo systemctl enable nginx
sudo systemctl start nginx

加入环境变量

输入命令 sudo vim /etc/environment 并按回车键。

sudo vim /etc/environment

输入下面配置:

输入命令 sudo vim /etc/profile 并按回车键。

sudo vim /etc/profile

在中间或最后加入配置:

export PATH=/usr/local/nginx/sbin/

输入 source /etc/profile 让配置生效

source /etc/profile

nginx 配置文件

vim /usr/local/nginx/conf/nginx.conf

我这里写一个十分简单的案例,关于具体的 Nginx 使用,请看官网,或者其他 Nginx 相关文章

server {
    listen 8090;
    server_name 127.0.0.1 192.168.203.128;

    location / {
        root /路径;
        index index.html;
    }
}

反向代理:

server {
    listen 5602;
    server_name 127.0.0.1;

    location / {
        proxy_pass http://127.0.0.1:5601;
        index index.html;
    }
}

五、常用命令

以下是一些Nginx常用命令,按照表格形式列出:

命令描述
sudo nginx启动Nginx服务。
sudo nginx -s stop停止Nginx服务。
sudo nginx -s reload重新加载Nginx配置文件,使修改生效。
nginx -v显示Nginx的版本号。
nginx -V显示Nginx版本号和编译配置参数。
sudo nginx -t测试Nginx配置文件语法是否正确。
ps aux | grep nginx查看正在运行的Nginx进程。
sudo nginx -s quit优雅地停止Nginx,等待连接处理完成。
sudo nginx -c /path/to/your/nginx.conf使用指定的配置文件启动Nginx。

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

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

相关文章

Android super.img解包和打包指南(含工具下载lpunpack、lpmake、lpdump)

本文所有命令均需要在linux 上执行 一、解包 1、将Android sparse image格式的super.img转成二进制文件 $ sudo apt install android-sdk-libsparse-utils $ simg2img super.img super.img.bin 2、下载工具lpunpack 和lpmake、lpdump 以及其依赖库 下载地址:https://downl…

C语言实现12种排序算法

1.冒泡排序 思路:比较相邻的两个数字,如果前一个数字大,那么就交换两个数字,直到有序。 时间复杂度:O(n^2),稳定性:这是一种稳定的算法。 代码实现: void bubble_sort(int arr[],…

在Debian11安装Proxmox VE 7及设置GPU工作环境

我们在测试大模型,深度学习的过程中,可能遇到的情况就是不断的清空系统,避免老系统中安装的软件对测试系统造成影响,导致测试结果不准确或莫名报错。今天为小伙伴们介绍使用PVE7做成一个人工智能开发和测试的平台,你可…

Day40 0-1背包问题

0-1背包问题 小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间&#x…

户外没有电源和网络,但需要安装监控系统,怎么办?太阳能智能监控系统给你解决

近期有粉丝给小编求助:需要在没网没电的户外进行智能监控的安装,不知道如何解决。收到粉丝的问题,小编立刻联系了技术人员给出方案。针对野外、户外等场景只需使用太阳能供电模组4G摄像机视频监控EasyCVR平台智能分析网关V4的架构&#xff0c…

【2023地理设计组一等奖】基于机器学习的地下水仿真与时空分析

作品介绍 1 设计思想 1.1 作品背景 华北平原是我国最重要的粮棉产地之一,然而近年来农业的低效用水以及过度压采正逐步加剧其地下水资源的紧张性,为经济可持续发展带来重大风险。而地下水动态变化与人为干预、全球气候波动呈现出高度相关性,因此,地下水的仿真模拟对保障粮…

网络编程套接字(2)

TCP 简单的TCP网络程序服务端创建套接字 服务端绑定服务端监听服务端接收连接测试服务端处理请求客户端创建套接字客户端连接服务器客户端连接服务器单执行流的服务器客户端为什么会显示连接成功? 多进程版的TCP网络程序让孙子进程提供服务 多线程版的TCP网络程序 简…

力扣之2629.复合函数(reduceRight )

/*** param {Function[]} functions* return {Function}*/ var compose function(functions) {return function(x) {return functions.reduceRight((result, func) > func(result), x);} };/*** const fn compose([x > x 1, x > 2 * x])* fn(4) // 9*/ 说明&#x…

Win10的蓝牙和其他设备没有蓝牙开关选项

一、问题背景 虽然蓝牙驱动并没有问题,但是Win10的蓝牙和其他设备却没有显示蓝牙开关的选项。这导致笔记本电脑无法使用蓝牙连接设备。如下图所示: 添加蓝牙或其他设备的标题下面本来应该有一个蓝牙开关,但是笔记本电脑却并没有显示这样的…

k8s安装dashboard报错CrashLoopBackOff

报错信息 使用kubectl get pods -A查看集群,出现错误: kubernetes-dashboard kubernetes-dashboard-xxxxxxxxxx6-2qrst 0/1 CrashLoopBackOff 6 15m查看日志后,发现原因: panic: Get "https://10…

搭建自己的私服 maven 仓库

申明:本文章所使用docker-compose配置文件纯属学习运用,非商用如有雷同请联系本人协调处理。 一、配置docker-compose.yml文件 # 指定docker-compose的版本 version: 3 services: nexus: container_name: nexus_container image: sonatype/nex…

经典mysql实操和行专列操作

1.删除除了学号字段以外,其它字段都相同的冗余记录,只保留一条!(也就是要删除王五和赵六中一条重复数据只留一条) 要求的预期效果: 原始数据创建表结构: CREATE TABLE tb_student (id int(16) NOT NULL,na…

C#验证字符串是否大写、小写,正则表达式vs用Char.IsUpper和Char.IsLower方法遍历字符数组

目录 一、使用的方法 1.正则表达式 2.用Char.IsUpper或Char.IsLower方法 二、源代码 1.源码 2.生成效果 一、使用的方法 1.正则表达式 正则表达式“^[A-Z]$”,其中[A-Z]表示匹配一个到多个大写字母。 正则表达式“^[a-z]$”,其中[a-z]表示匹配一个…

C# wpf 字体图标预览,html字符与unicode转换

在进行wpf 开发工作过程中遇到字体图标无法预览的问题&#xff0c;特此记录。 1、把需要预览的字体文件上传到网站上进行转换 Create Your Own font-face Kits Font Squirrel2、下载文件后进行解压。 3、找到 Glyph Chart 查看字体html字符编码4、在wpf中直接使用即可 <…

【JAVA】单例模式的线程安全性

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 我的其他博客 正文 老生常谈的问题了&#xff0c;首先要说的是单例模式的线程安全意味着&#xff1a;某个类的实例在多线程环境 下只会被…

前端框架简介及Vue3项目起步基础配置

前端框架简介及Vue3项目起步基础配置 前端框架简介Vue1.1 Vue脚手架1.1.1 使用vue-cli创建vue2项目1.1.2 使用create-vue创建vue3项目1.1.3 项目起步-配置别名路径联想提示1.1.4 项目起步-elementPlus引入1. 安装elementPlus和自动导入插件2. 配置自动按需导入3. 测试组件 1.1.…

DRV8313和L298N都是电机驱动,一个是驱动三相FOC无刷直流电机的,一个是驱动有刷电机,使stm32控制无刷电机简单入门知识

DRV8313和L298N都是电机驱动器&#xff0c;但它们之间存在一些关键的区别&#xff1a; DRV83131&#xff1a; 由德州仪器&#xff08;TI&#xff09;制造。 具有集成的场效应晶体管&#xff08;FET&#xff09;。 最大电压为65V。 峰值电流为3A。 适用于三相电机驱动。 L298N…

中科大计网学习记录笔记(三):接入网和物理媒体

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

Javaweb之SpringBootWeb案例之配置文件的详细解析

4. 配置文件 员工管理的增删改查功能我们已开发完成&#xff0c;但在我们所开发的程序中还一些小问题&#xff0c;下面我们就来分析一下当前案例中存在的问题以及如何优化解决。 4.1 参数配置化 在我们之前编写的程序中进行文件上传时&#xff0c;需要调用AliOSSUtils工具类&…

华为数通方向HCIP-DataCom H12-821题库(单选题:381-400)

第381题 以下是某台设备通过display isis lsdb命令输出的信息,那么关于以上输出的信息的描述,正确的是哪一项? <R1>display isis lsdbDatabase information for ISIS(1)--------------------------------Level-1 Link State DatabaseLSPID Seq Num…