Linux下如何实现不用加路径调用启动脚本
配置Systemctl启动
Linux下便于启停服务,可以配置systemcl,配置如下描述
说明
只有root用户可配置,文件路径为 /etc/systemd/system/XXX.service,本文将用nginx.service举例说明
1、创建文件
首先创建一个nginx.service文件,用于配置nginx的systemctl服务。可以使用任何文本编辑器,
vi /etc/systemd/system/nginx.service
2、在Nginx.service中增加以下内容,并保存关闭文件即可
[Unit]
Description=nginx
After=network.target[Service]
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true[Install]
WantedBy=multi-user.target
3、重载使systemctl生效
sudo systemctl daemon-reload
4、试验systemctl启动、停止等操作
# 启动
systemctl start nginx
# 停止
systemctl stop nginx
# 重启
systemctl restart nginx
#状态查看
systemctl status nginx
5、如果没有root,配置环境变量
有公司为了安全不给开放root权限,只给appuser,那怎么做到方便启动nginx,不用每次进到sbin下执行命令呢,那就配环境变量即可
#1 修改用 户级环境变理
vi ~/.bash_profile#2 追加上nginx配置并保存退出
# Source /root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc
NGINX_HOME=/usr/local/nginx
PATH=$PATH:$NGINX_HOME/sbin
export PATH
~
# 3使环境变量生效
source ~/.bash_profile#可以尝试任意地方启nginx了,直接nginx即可,无需路径或加./
后记
配环境变量时,写错了,生效后系统 自带的所有命令都无法使用了,包括vi、ps、cd命令,意味着无法找到环境变量文件进行修改了,慌的一批,不过还好聪明点,在当前窗口重新export了一下环境变量,然后可以用命令,进行~/.bash_profile修改,导系统环境变量让当前窗口生效的命令如下:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin相关文章:
Linux下如何实现不用加路径调用启动脚本
配置Systemctl启动 Linux下便于启停服务,可以配置systemcl,配置如下描述 说明 只有root用户可配置,文件路径为 /etc/systemd/system/XXX.service,本文将用nginx.service举例说明 1、创建文件 首先创建一个nginx.service文件,用于配置ngi…...
编程练习2 数据单元的变量替换
示例1: 1,2<A>00 示例2: 1,2<A>00,3<A>00 示例3: <B>12,1,2<B>1 示例4: <B<12,1 输出依次如下: #include<iostream> #include<vector> #include<string>using namespace std;/* 字符分割函数 将传入…...
mysql的查询操作
MySQL的查询操作是数据库管理和数据检索的核心。通过SQL(Structured Query Language,结构化查询语言)语句,用户可以执行包括数据检索、数据插入、更新和删除在内的多种操作。在本文中,我们将重点讨论数据检索ÿ…...
0基础学前端 day2
大家好,欢迎来到无限大的频道。 今天继续带领大家开始0基础学前端。 一、CSS简介与基础 层叠样式表(CSS,Cascading Style Sheets)是用来进行网页样式和布局设计的语言。通过CSS,开发者可以控制网页中元素的颜色、字体…...
Invalid Executable The executable contains bitcode
Invalid Executable The executable contains bitcode xcode世界xcode16后,打包上传testflight时三方库报错:Invalid Executable - The executable ***.app/Frameworks/xxx.framework/xxx contains bitcode. 解决方案: 执行一下指令删除该f…...
音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件
一、引言 有很多工具可以分析FLV格式,这里推荐flvAnalyser。其支持: 1.FLV 文件分析(Tag 列表、时间戳、码率、音视频同步等),HEVC(12)/AV1(13) or Enhanced RTMP v1 with fourCC(hvc1/av01); 2.RTMP/HTT…...
Java服务端开发中的网络安全:防护DDoS与数据泄露的策略
Java服务端开发中的网络安全:防护DDoS与数据泄露的策略 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!在Java服务端开发中,网络安全是我们必须重点关注的领域,…...
CodeMeter 8.20AxProtector 11.50版本更新
CodeMeter是一款强大的软件保护和许可管理工具,此次8.20版本更新引入了多个重要的新功能和优化,进一步提升了不同平台上的兼容性与使用体验。本次更新扩展了对CmCloudContainer的支持,优化了Python、Rust等语言的加密能力,并修复了…...
C语言在嵌入式系统中的应用有哪些?
C语言在嵌入式系统中的应用非常广泛,这主要得益于其高效的运行速度、优秀的代码优化能力以及丰富的函数库。以下是C语言在嵌入式系统应用中的几个关键方面: 1. 硬件直接访问能力 底层硬件操作:C语言提供了直接访问底层硬件的机制࿰…...
Android 系统WIFI AP模式
在 Android 系统中,AP 模式(Access Point Mode,热点模式)允许设备作为 Wi-Fi 热点,其他设备可以通过连接这个热点进行互联网访问或局域网通信。要让 Android 设备工作在 AP 模式,你可以通过应用层的 API 控…...
java jdk8内存序列化为xml
在Java JDK 8中,将对象内存序列化为XML格式,可以使用JAXB(Java Architecture for XML Binding),它是JDK 8的一部分,并且被广泛用于Java对象与XML之间的转换。以下是一个使用JAXB在JDK 8中将Java对象序列化为…...
脚本注入网页:XSS
跨站脚本攻击(Cross-Site Scripting,简称 XSS)是一种常见的网络安全漏洞。它是指攻击者在网页中注入恶意脚本代码,当用户访问该网页时,恶意脚本会在用户的浏览器中执行,从而导致一系列安全问题。这些问题可…...
Python将ONNX转为Json脚本
Python脚本 import onnx from onnx.shape_inference import infer_shapes import numpy as npfrom google.protobuf.json_format import MessageToJson, Parse import argparse import osdef convertToJson(onnx_model_path):onnx_model = onnx.load(onnx_model_path)message …...
医学数据分析实训 项目九 糖尿病风险预测
文章目录 综合实践二 糖尿病遗传风险预测一、分析目标二、实现步骤三、数据准备四、特征工程五、模型构建六、性能度量七、提交要求 综合实践任务二 糖尿病遗传风险预测代码(一)数据准备(二)特征工程(三)模…...
C语言-文件操作-一些我想到的、见到的奇怪的问题
博客主页:【夜泉_ly】 本文专栏:【C语言】 欢迎点赞👍收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下,连续多次调用 fopen() 打开同一个文件,会发生什么?1.1过…...
变电站设备检测系统源码分享
变电站设备检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…...
电机foc线上课程开课啦
凌鸥学园电机控制学习盛宴,诚邀您的加入 🎓免费学习,荣誉加冕 凌鸥学园提供免费的电机控制课程,从基础到专业,全程无负担。 📚全面课程体系,灵活学习模式 凌鸥学园提供从基础到专业的全面课程…...
解决Mac 默认设置 wps不能双面打印的问题
目录 问题描述: 问题解决: 问题描述: 使用mac电脑的时候,发现wps找不到双面打印的按钮,导致使用wps打开的所有文件都不能自动双面打印 问题解决: mac的wps也是有双面打印的选项,只是默认被关…...
智谱清影 - CogVideoX-2b-部署与使用
🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 体验地址:[丹摩DAMODEL官网](https://www.damodel.com/console/overview) CogVideoX 简介本篇将详细介绍使用丹摩服务器部…...
python queue.Queue介绍
queue.Queue 是 Python 中的线程安全队列,适合用于多线程或多进程环境中进行任务和数据的共享。queue.Queue 提供了 FIFO(先进先出)队列的实现,并包含线程锁机制以保证在多线程环境下数据的安全性。 queue.Queue 的主要方法&…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
