麒麟系统—— 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。

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

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

相关文章

Java编程练习之类的封装2

1.封装一个股票(Stock)类,大盘名称为上证A股,前一日的收盘点是2844.70点,设置新的当前值如2910.02点,控制台既要显示以上信息,又要显示涨跌幅度以及点数变化的百分比。运行效果如下:…

【甲方安全建设】DevOps初体验

文章目录 前言传统的开发方式:Docker-解决环境问题 DevOps-CI/CD走向流水线Jenkins工作流程Git拉取代码Maven构建打包通过SSH连接后端服务器 实现效果 DevSecOps-安全赋能关于安全平台漏洞扫描漏洞预警TODO 前言 临近春节,笔者经过半年北漂,…

Linux系统——防火墙

一、防火墙的认识 引言 安全技术 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全…

企业如何对u盘管控,进行U盘管理?公司电脑禁用U盘的方法

随着信息技术的飞速发展,U盘等移动存储设备已成为企业数据传输和存储的重要工具。然而,U盘的滥用和误操作也带来了巨大的安全隐患,如数据泄露、病毒传播等。 因此,对企业而言,如何有效管控U盘的使用,确保数…

Pymysql将爬取到的信息存储到数据库中

爬取平台为电影天堂 获取到的数据仅为测试学习而用 爬取内容为电影名和电影的下载地址 创建表时需要建立三个字段即可 import urllib.request import re import pymysqldef film_exists(film_name, film_link):"""判断插入的数据是否已经存在""&qu…

element表格内多个输入框时如何添加表单校验

以下.vue文件Demo可直接复制运行: 重点: 1:表格数据定义在form里 2:prop需要加索引;索引前的变量不要加form,直接取里边的key,索引后的字段需要和表格里字段属性对应 。:prop"tableInfo.l…

0基础学习VR全景平台篇第140篇:摄影器材保养与维护

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 摄影器材属于精密仪器,在使用过程中会磨损、老化、积灰。如果不对摄影器材进行清洁和保养,油污、灰尘、水渍长期停留在设备上,不仅会大大缩短相机…

从[redis:LinkedList]中学习链表

文章目录 adlistlistNodelistmacros[宏定义]listCreatelistInitNodelistEmptylistReleaselistAddNodeHeadlistLinkNodeHeadlistAddNodeTaillistLinkNodeTaillistInsertNodelistDelNodelistUlinkNodelistIndexredis3.2.100quicklistredis7.2.2quicklist redis的基本数据类型之一…

简单说说mysql的日志

今天我们通过mysql日志了解mysqld的错误日志、慢查询日志、二进制日志,redolog, undolog等。揭示它们的作用和用途,让我们工作中更能驾驭mysql。 redo 日志 如果mysql事务提交后发生了宕机现象,那怎么保证数据的持久性与完整性?…

网站接入QQ登录

开发者认证,创建应用: (1)先在 QQ 互联 QQ互联管理中心 进行个人开发者认证,并审核 (2)创建【网站应用】,填写正确信息,获得对应的 appid 与 appkey,并审核…

【机器学习】某闯关类手游用户流失预测

Final Project: 某闯关类手游用户流失预测 1 案例简介 手游在当下的日常娱乐中占据着主导性地位,成为人们生活中放松身心的一种有效途径。近年来,各种类型的手游,尤其是闯关类的休闲手游,由于其对碎片化时间的利用取得了非常广泛…

服务器未启动而端口进程仍在运行如何查看并杀死

首先登录服务器然后查看当前监听的端口: sudo netstat -tuln比如这里的8080,我们此时并未启动服务器,但是它却正在运行,这会导致服务器刚启动就秒挂。如果没有日志的话会让人有点疑惑,这种情况可能是之前运行了该进程…

代码随想录day17--二叉树的应用5

LeetCode654.最大二叉树 题目描述: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后…

鸿蒙开发-UI-页面路由

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 文章目录 一、基本概念 二、页面跳转 1.router基本概念 2.使用场景 3.页面跳转参数传递 三、页面返回 1.普通页面返回 2.页面返回前增加一个询问框 1.系统默认询问框 2.自定义询问框 总…

EtherCAT FP介绍系列文章—UDP gateway

EtherCAT主站上的Mailbox Gateway功能,可以用于将EtherCAT mailbox相关协议从外部设备的工具通过邮箱网关路由到EtherCAT从站设备。在EtherCAT规范中定义的所有邮箱协议在此功能中都可用,例如CoE, FoE, VoE, SoE。 但是,这里特别注意的是Mai…

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Mohist 1.20.2服务器教程,我的世界MOD和插件服开服教程。

雨云游戏云VPS服务器用Linux搭建MCSM面板和Minecraft Mohist 1.20.2服务器教程,我的世界MOD和插件服开服教程。 本教程演示安装的MC服是Mohist 1.20.2版,其他版本也可以参考本教程,差别不大。 本教程使用Docker来运行mc服,可以方…

UserWarning: Glyph 39640 missing from current font问题

是因为不支持中文字体导致的,设置为一个支持中文的字体就行了。 另外,上面的改动会引起负号显示为方块,需要额外再加一条设置。 在中文系统上 import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei] # 设置为一个支持…

C#,斯特林数(Stirling Number)的算法与源代码

1 斯特林数 在组合数学,斯特林数可指两类数,第一类斯特林数和第二类斯特林数,都是由18世纪数学家James Stirling提出的。它们自18世纪以来一直吸引许多数学家的兴趣,如欧拉、柯西、西尔沃斯特和凯莱等。后来哥本哈根(…

Docker容器引擎私有仓库的搭建和管理

目录 一、私有仓库搭建和管理 (一)搭建本地私有仓库 1.拉取registry镜像 2.修改docker配置文件并重启 3.运行registry容器 4.给镜像打标签 5.上传到私有仓库 6.查看私有仓库的所有镜像 7.从私有仓库拉取镜像 (1)删除cen…

网络协议 UDP协议

网络协议 UDP协议 在之前的文章中有对UDP协议套接字的使用进行讲解,本文主要对UDP协议进行一些理论补充。 文章目录 网络协议 UDP协议1. 概念2. UDP协议格式2.1 数据报长度2.2 校验和/检验和2.2.1 CRC校验2.2.2 MD5算法 1. 概念 UDP,即User Datagram P…