麒麟系统—— 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盘的使用,确保数…

网络安全简介

网络安全: ​ 网络安全攻击分为被动攻击和主动攻击。 1. 被动攻击:是指攻击者从网络上窃取了他人的通信内容,通常把这类的攻击称为截获,被动攻击只要有2种形式:消息内容泄漏攻击和流量分析攻击。由于攻击者没…

Android 8.1 输入框返回键改为删除功能

Android 8.1 输入框返回键改为删除功能 最近接到客户反馈,想要实现在输入框返回键改为删除功能,具体修改参照如下: /frameworks/base/core/java/android/view/View.java public boolean dispatchKeyEvent(KeyEvent event) {if (mInputEvent…

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…

软件工程知识梳理1-可行性研究

目的:确定问题是否值得去解决。就是用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也即是在较高层次上以较抽象的方式进行系统分析和设计的过程。 考察点:技术可…

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

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

如何利用Laravel实现验证码功能

1、生成验证码图片 在Laravel中,生成验证码图片的方式通常是使用PHP的GD库。GD库是一种非常流行的PHP图像处理库,提供了很多方便的函数,可以轻松地生成各种类型的图像。在Laravel中,我们可以使用GD库的函数来实现验证码图片的生成…

从[redis:LinkedList]中学习链表

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

简单说说mysql的日志

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

MYSQL 创建用户以及解决MYSQL新建数据库看不到相关数据库信息的解决方案

MYSQL 创建用户以及解决MYSQL新建数据库看不到相关数据库信息的解决方案 首先 我们创建一个mysql用户账户 如创建一个test用户 密码123456 命令如下: CREATE USER testlocalhost IDENTIFIED BY 123456;创建了一个db1的数据库 命令如下: create databa…

达梦数据库死锁排查与解决

在达梦数据库系统中,死锁是指两个或多个事务相互等待对方释放资源,从而造成循环等待的现象,严重影响数据库的正常运行。以下是使用达梦数据库进行死锁排查和解决的具体步骤: 死锁查看 查询当前死锁信息 SELECT lc.lmode, lc.ta…

网站接入QQ登录

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

Java学习笔记2024/2/1

1. 循环高级 1.1 无限循环 package com.angus.loopAdvanced.infiniteLoop_1;public class note {public static void main(String[] args) {//无限循环:循环一直停不下来//for循环//while循环 ->最常用,因为不知道循环的范围或者次数//do...while循环// for (;;){ …

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

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

分组函数应用(sql+python)总结

经常会遇见对某个字段进行分组、统计等,其中还包括一些比较细致的问题,有时往往会忘记,这里做个记录。 文章目录 1. sql的分组(group by/ over())2. PYTHON分组函数使用groupby 1. sql的分组(group by/ ov…

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

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