·

Nginx is installed but command not found

Published at 2024-06-06 20:16:35Viewed 581 times
Professional article
Please reprint with source link

Problem. I installed nginx on my Debian 12 server following the steps in the official documentation Installing NGINX Open Source | NGINX Documentation. At first, everything is OK😇. Running sudo nginx -v returns the correct version of nginx.

However, recently, when I ran the same command, it returned command not found:

sudo nginx
sudo: nginx: command not found

nginx
bash: nginx: command not found

Either sudo nginx or nginx gives the same result😣.

Solution. To solve this problem, first you need to determine the path of your installed nginx. Your nginx may be contained in /usr/local/sbin or /usr/sbin. Once you find your nginx path, for instance, /usr/local/sbin/nginx, you can directly run

sudo /usr/local/sbin/nginx -v
nginx version: nginx/1.22.1

This would output the version of nginx, which solves the problem.

However, if you don't want to input the entire path of nginx everytime, you must add the path of nginx to the environment variables as follows.

First, output the environment variables by running echo $PATH. You may found that the path of nginx is not in the output. Meanwhile, the output of the command which nginx is also void. Therefore, you need to check the file of environment variables:

sudo vim /etc/profile

In /etc/profile, I found that /usr/local/sbin and /usr/sbin are in PATH only when I'm a root user. So we just need to add /usr/local/sbin or /usr/sbin to another PATH. For example:

if [ $(id -u) -eq 0 ]; then
   PATH="/usr/local/sbin:/usr/local/sbin:..."
else
   PATH="/usr/local/sbin:/usr/local/sbin:..."
fi
export PATH

After saving /etc/profile, reset the command line

source /etc/profile

Then run nginx -v to check if it returns the correct version😄.

nginx -v
nginx version: nginx/1.22.1


0 人喜欢

Comments

There is no comment, let's add the first one.

弦圈热门内容

(✅已修复)弦圈编辑器上传图片已知bug,未知原因导致上传图片模糊

这是个很早之前就存在的bug了,一直都没解决,并且我也不知道具体是什么原因。原本这个bug也只是偶尔发生,已经有很长一段时间没有再遇过了。结果今天我写Android Studio安装教程 - Windows版这篇文章的时候,又遇到这个问题了。刚刚上传前面几张图片的时候一切正常,直到上传最后几张图片时,我发现上传的照片又很糊了,并且无论上传多少次,按多少比例截图,最后结果都一样。而且无论是复制来的图片,还是直接上传图片,都一样。见下面几张图这些图片都是原图很清晰,但上传后就很糊了。目前已确定问题发生在Django后端,具体原因仍在排查当中......更新:经过排查,确定问题跟图片模型有关系,我使用了django-resized的ResizedImageField来将上传的图片转化为webp格式。一般正常使用都是没事的,但是有些时候上传图片的次数多了以后,就会出现这种bug。为什么会出现这个问题,即便我看过django-resized源代码也不清楚,搞不好是pillow的问题?但我觉得应该跟它无关。最后我将ResizedImageField改回了ImageField,然后自己用pillow ...

Android Studio安装教程 - Windows版

如果你想要开发Android应用,那么Android Studio往往是必不可少的,其包含Android开发所需要的环境,即便你不打算用Android Studio进行开发,也需要先安装配置好它。首先打开Android Studio中文官网进行下载:https://developer.android.google.cn/studio?hl=zh-cn,下载速度亲测可以,作者今天下载时速度甚至达到了60MB/s。点击下载Android Studio xxx,接着会弹出下载Android Studio的条款及条件。勾选同意后,点击下载Android Studio xxx开始下载。下载完后打开安装包,然后点击Next继续点击Next接着选择好你的安装位置,继续点击Next现在点击Install开始安装耐心等待安装完成安装完成后,点击Next然后点击Finish完成安装等待Android Studio打开。这时会弹出这个收集数据的东西,点击Don't send😎接着进入到Android Studio Setup Wizard的界面,这时如果弹出下图错误,直接点击Cancel即可然后点击Next ...

智力等级体系:天才与超级天才 | 智力修仙

现实中等级体系这个东西非常常见,可以说深深刻在每个人心中,影响着整个社会的运作。数学圈中所谓的鄙视链,即可看作一种等级体系。而在修仙小说中,元婴、化神等各个境界的划分,也是等级体系的一种。这些等级体系其实都是有尽头的,并不是无限往上的,即存在一个最高等级。由于很多修仙作品无限套娃的境界,这让人误以为这是一种失衡的等级体系,或者压根就不能算等级体系。实际上正统的神话中,境界是有尽头的,众神中也存在着最高神。为什么等级体系一定会有最高值,或者说是否等级体系一定会有最高值,这个问题倒是挺有意思的,不过这并不是本文要讨论的重点。我们这次要讨论的是智力的等级体系,这是相较于其他等级体系较少被提及的,即便被提及也没有清晰的划分,定义一般比较模糊且不同人之间差异性较大。本文我们要像小说一样,建立一个完整的智力等级体系,毕竟想要理想上完善这个体系,就必须要考虑到一些超现实的东西。关于智力的度量与划分,基本上都离不开智商这个概念,智商其实就是智力测试的分数。我们首先从智商出发,给出智力等级体系的一个版本。每一级相差30分,意思是上一级的智力跟下一级相比就跟普通人一样。而每一级分为初期、中期、后期、巅峰, ...

回顾经典 - 使命召唤5僵尸模式mod 我的世界

在上一篇文章回顾经典 - 使命召唤5僵尸模式mod 海绵宝宝中,我们介绍了COD5的一个趣味MOD-海绵宝宝。今天我们来介绍一下另一个趣味MOD-我的世界😁。该MOD包含的场景有村庄、地堡、地狱、末地,并且除了普通的Nazi僵尸,还有末影人、烈焰人、末影龙。然后还将一些COD其他系列的武器和饮料搬到这里,还有嚼糖果。该MOD可以通关,通关流程跟MC通关流程一致,即拿到黑曜石打开地狱传送门,前往地狱打烈焰人活得烈焰棒,杀末影人得末影珍珠,回主世界合成末影之眼,前往地堡激活末地传送门,前往末地打败末影龙。该MOD除了MC这种地图外,还有多个其他地图,地图的背景和规则各不相同。当然可玩性最高的还是MC村庄这张地图。除此之外,你可以选择多个游戏难度(solo difficulty): beginner, easy, normal, hard, veteran,难度越低开局初始钱越多,僵尸数量越少,僵尸血量越低,僵尸速度越慢。默认难度是normal,对作者这种萌新而言并不简单,还是beginner舒服😃。并且你还可以修改游戏模式(solo gamemode):original - 正常的僵尸模式 ...

关于弦圈APP帖子附件的下载路径

之前弦圈APP的附件下载路径出现了问题(✔已修复)弦圈APP下载附件功能存在问题,目前暂时无法修复。如若需要下载附件,请先用Web端,现已被修复。现在所有的附件下载完后,都会放在/storage/emulated/0/Documents/Manitori这个文件夹里。需要注意的是,附件下载完后并不会显示在手机的“最近”页中,需要你自行使用文件管理器打开下载路径。 按理来说Documents的意思是文档,里面应该就是专门存放pdf这些文件的,结果却不显示在“最近”页中,也不知道开发手机的是怎么想的😅。不过这是符合某些用户的心意,他们不希望自己下载的东西显示到“最近”,甚至想直接关掉“最近”页。接下来我就给出如何找到下载附件的一个教程吧,防止用户找不到下载的文件。首先在手机桌面找到这个图标的文件打开,如果没有这个图标的文件,可以尝试找名称,见下面这个文件的名称就是文件管理器打开文件管理器后,点击中间的“手机”,然后找到Documents文件夹,打开后找到Manitori文件夹,然后打开即可

这么多个搜索引擎就必应对弦圈最好了,谈谈弦圈过去的SEO经历

早在2024年4月4日弦圈上线之日,我就开始做弦圈的SEO优化,这期间免费付费手段都用过,效果也是起起伏伏。我并不是SEO方面的专家,这篇文章仅仅只是将我过去做SEO的经历说一下,以解释为什么最后我放弃SEO。目前说到SEO优化,一般涉及的就是三大搜索引擎谷歌、百度、必应。其中谷歌全世界体量最大,百度国内体量最大,必应体量没前两者大。如果不考虑国外互联网,仅考虑国内的话,从趋势上看,谷歌对中文互联网不管不顾趋于平稳,百度则正在衰落,而必应则正在增长。在中文互联网中与SEO优化相关的内容,一般说的都是百度SEO或者谷歌SEO,然后大家一致的声音都是百度不行,谷歌行。但网络上的信息往往都有滞后性,加上我是从零开始学习SEO相关知识,总之我持续花了好几个月专攻谷歌SEO,最后都没啥效果。为什么只做了几个月,因为我当时还没大学毕业但也快了。而网上那些所谓的SEO本来就慢,至少一年才有效果等等,在我看来都是p话,先不说我耗不起这样的时间,其次做了那么久那个曝光曲线还是差不多这样,根本没有上升的趋势,我不相信坚持到某天它会突然一飞冲天。期间我试过自己按照网上的教程(国内外的教程都试过),写原创内容 ...

创意总会有枯竭的那天,但创新不会,唯有创新才有可能源源不断、永无止境

根据网上查到的资料,创意这个词是创新的子集:创意是创造意识或创新意识的简称,亦作“剙意”。它是指对现实存在事物的理解以及认知,所衍生出的一种新的抽象思维和行为潜能。但是我认为从实践中讲,更准确地,应该这样定义创意。假设创新是一个集合$A$,那么创意就是任意一个单射$f: B\rightarrow A$且满足$f(B)\subsetneqq A$。By abuse of notation,我们直接将其记作$B$。显然,此定义推广了创意的文字定义。怎么理解这个定义呢?首先两个定义的共同之处是——创意小,创新大。在生产实践中,创意的例子比比皆是,比如说一个商品的包装、一个产品的界面和logo、相同食材的不同煮法等等。这些创意有些是有限的,而有些看似无限其实也是有其上确界。我们可以将这个说法写成一个命题。命题/定义1. 任意一个创意$B$,都存在一个最小实数$M\in\mathbb{R}_{\geq0}$使得$\|B\| \leq M$。此数被称为创意$B$的上确界,并记作$\sup(B)$。为什么说创意是有限的?从生产实践中考虑,绝大多数有创意的产品,经过激烈的商业竞争,在不断的 产生新创意 ...

回顾经典 - 使命召唤5僵尸模式mod 海绵宝宝

使命召唤5虽然是2008年发行的游戏,却是COD系列中最为经典的一个。可以说它是很多玩家的童年回忆,相较于COD的其他版本,COD5可以说拥有最强大的MOD功能,啥都能做成被做成COD5的MOD,即便是COD新版本的僵尸模式也能被做成MOD回到COD5中。得益于此,COD5的僵尸模式至今仍保持着一定热度。曾经COD5的僵尸模式非常火爆,很多MOD如雨后春笋一般涌现,其中不乏一些优秀有趣的MOD,而我今天要介绍的海绵宝宝MOD便是其中之一。这张地图的面积挺大,可玩区域包括:比奇堡小镇水母田音乐会区域高菲高伯冰淇淋船蟹堡王餐厅海绵宝宝的家章鱼哥的房子珊迪的圆顶树屋这种地图包含紧张的跑酷场景,并且有多种饮料,还有特殊的武器。话不多说,直接上图。更多细节介绍、视频,以及下载地址见:Spongebob, Battle for Bikini Bottom [V1.1] LINK UPSpongebob, Battle for Bikini Bottom [V1.1]

(✔已修复)弦圈APP下载附件功能存在问题,目前暂时无法修复。如若需要下载附件,请先用Web端

今天有粉丝反馈,弦圈APP里下载的附件并不能打开。接着我马上打开APP测试,发现文件确实是下载了,但是却找不到下载的文件,这也是当初测试的一个疏漏😢。不过令人沮丧的是,我目前找不到解决这个问题的办法😭。目前这个问题的原因已经查明,就是下载路径的问题。文件下载成功后所放的位置file:///data/user/0/com.sinering.manitori/files,在手机里是打不开的,里面的文件对于用户而言不可见。用户下载的文件相当于存到APP的数据里了,我目前也不清楚如何在手机访问这些文件,开发的时候可以通过Android Studio查看,但是这是真机。由于这是我第一次写APP,自己的技术水平有限,而手机端APP与Web端相比,同样的功能没那么好实现,复杂很多。目前这个问题,我暂时找不到解决办法,其实就是一行代码有问题需要修改。import { File, Paths } from "expo-file-system/next"; const new_file = new File(Paths.document, new_filename);就是上面这行代码里的Paths.do ...

如何创建你的第一个React.js+Vite项目?

最近弦圈APP第一个正式版上线了,在下载弦圈APP这个页面中,GitHub Page的下载页面就是直接用React.js+Vite写的:https://ricciflows.github.io/xianquan-app-download/。那么,对于新人小白而言,如何创建第一个React.js+Vite项目,并写出这样一个简单的页面呢?本文将手把手教你如何实现。首先,你需要安装并配置好node.js环境,具体见Node.js安装与更新教程 - Windows版,并确保node版本是18+或者20+。接着win+R并输入cmd打开控制台(如果你想要选择项目的位置,如D:\Reactjs,则分别输入D:和cd Reactjs)然后输入命令npm create vite@latest如果输出以下结果,则输入y然后按enter键接着输入项目名称,如vite-test按方向键↓,选择React,然后enter接着,根据自己的需要选择。这里我们选择第一个然后根据提示,分别输入三条命令。第一个命令是指进入项目文件vite-test,第二个命令则是安装所有npm依赖,第三个命令则是运行测试模式。注:输 ...

Node.js安装与更新教程 - Windows版

Node.js环境是前端开发的必备环境,无论哪一个前端框架都需要用到node.js,本文将会教你如何安装配置node.js环境。如果你已经安装过node.js,但是想更新,那你也只需要按照安装的步骤直接覆盖原目录即可。首先,打开node.js的官网https://nodejs.org/zh-cn,然后下载node.js的Windows安装包。注:无特别需求,直接安装LTS(long term support)版就可以了。如果觉得在官网下载速度太慢,可以选择镜像网站下载:https://mirrors.aliyun.com/nodejs-release/v22.14.0/?spm=a2c6h.25603864.0.0.4b507621PbOVxm。然后根据自己电脑的配置选择安装包,下载完后直接打开,选Next勾同意协议,然后选Next设置你的安装路径,然后选Next接下来,这里不用管直接选Next继续选Next,注:这里说的是某些npm库安装时需要从C/C++中编译出来,如果你想要能安装这些库,就勾选此项。现在直接选Install,开始安装等待安装完成(如果这时候弹出请求管理员权限,点是 ...

Flutter、Tauri、React Native、Android原生的四次开发经历,为何最后我选择了React Native?

Flutter、Tauri、React Native都是目前移动端流行的跨平台开发框架,并且他们还能胜任全平台开发。React Native是最早开源的跨平台框架,而Flutter紧跟其后,并且Flutter最近几年超越React Native成为当前世界上最流行的跨平台框架。Tauri则是最近几年诞生的新跨平台框架,跟其他框架显著不同的一点是,它允许你使用任何前端框架,即你能够自由使用整个Web生态进行跨平台开发。Flutter、Tauri、React Native、Android原生我都尝试过,接下来我说一下我分别使用他们的开发经历。首先,我第一个使用的跨平台框架是Tauri,当时Tauri V2.0已经发布,我看它能够使用Nuxt.js或者Next.js进行开发,觉得蛮不错的。毕竟我有两个网站,一个是Nuxt写的,另一个是Next写的,这样我就只需要在原有代码基础上修改一下就行了。于是很快我就栽跟头了,首先是Nuxt的桌面端应用,我在dev模式下,没有发现任何问题,$fetch请求也能正常发送。结果build以后,发现所有的请求都废了,全是404,将url改为完整url,结果就是 ...

中国当前的教育最缺少什么?

在我看来,目前国内教育最大的问题之一,就是不告诉学生这个社会残酷的真相,只会不断给学生灌输好好读书,以后勤奋工作才能出人头地、赚钱的错误观念。这导致大学里一个非常奇怪的现象,很多人明明没有赚钱的本事,却拿着父母赚的辛苦钱无所事事,在学校享受人生,俨然一副天堂的样子。因为到了大学,好好读书这个意念也随着高考结束而逐渐淡化,没有人再管你的学习,你只需要期末考试及格,干啥都可以,甚至不及格还能补考。然而殊不知这样的学生出来以后,大概率很快会被社会毒打。被当成螺丝钉是小事,最怕的是连当螺丝钉的资格都没有。目前国内教育的目的就是为了产生好的螺丝钉。但是讽刺的是,学校即便连螺丝钉都不能好好培养出来。因为学校教育与社会现实严重脱轨,以计算机编程类的课程为例,很多课里面的内容还停留在十几年前,完全没有与时俱进,也没考虑生产实际。这也意味着,在学校哪怕你认真上好每一节,学好所有的知识,也并不能在社会的竞争中脱颖而出,你必须自学加量,疯狂内卷,在自我内耗中度过。学校只是个没有感情的流水线工厂,只会机械性的给你灌输教材的内容,不会教你如何赚钱、如何社交、如何对待感情等等更加重要的问题,最后导致很多人遇到感情 ...

是否存在人类大脑永远无法理解的数学结构?

是否存在人类大脑永远无法理解的数学结构?答案是存在也不存在。这个问题重点在于“理解”这个词,怎么样才算是理解?本文中,我们就将理解分为直观理解和抽象理解吧。所谓直观理解,指的是能够通过五官直接感受到。基于这个定义,数学从线性代数中最基础的n维线性空间开始,就不是人脑能够直观理解的了,毕竟人脑只能理解四维以下的空间,即只能理解三维的空间,不能理解处在第四维度的时间。到目前为止,四维时空是否存在都还存在争议,因为并没有直接证据表明四维时空真实存在。因此,从物理世界来看,人脑从四维线性空间开始就无法直观理解了。抛开四维空间是否真实存在的物理争议,考虑纯粹数学上的定义,四维空间是存在的。那么有可能通过作图的方式来直观理解高维空间呢?不能。那些所谓画出四维及以上空间的图,其实是通过投影等方法实现降维,将高维空间的东西通过三维的形式表现出来,并不是真正的高维空间。既然存在那么多大脑无法理解的数学结构,这时数学就派上用场了。数学正是人类用于理解人脑无法直观理解的工具,因为人脑有个很强大的功能——抽象化,既然你无法想象、也无法理解,那干脆就将它抽象化为一个数学对象来研究,即抽象理解。人类对于高维空间的 ...