当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 执行网络攻击模拟的 7 个步骤
  • AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成
  • 不在同一局域网怎么远程桌面?非局域网环境下,实现远程桌面访问的5个方法分享!
  • WebGL光照与材质
  • uniApp 解决uniapp三方地图获取位置接口的请求次数限制问题,分别提供 Android 和 iOS 的实现方法(原生插件获取)
  • Android TV RecyclerView列表获得焦点左右换行
  • 每天五分钟玩转深度学习pytorch:L1正则化和L2正则化的应用
  • Xcdoe快速更新安装的小Tips
  • 超详细超实用!!!AI编程之cursor编写设计模式迪米特法则实例(八)
  • 【高级数据结构】树状数组
  • 时间序列分析算法
  • srm供应商管理系统排名 6款好用的SRM系统推荐
  • 基于51单片机的两路电压检测(ADC0808)
  • 第二章 SQL语言简介
  • 5分钟内不能重复发送验证码!
  • Android交互
  • CSS实用技巧干货
  • echarts花样作死的坑
  • HTML中设置input等文本框为不可操作
  • js正则,这点儿就够用了
  • leetcode讲解--894. All Possible Full Binary Trees
  • miaov-React 最佳入门
  • mysql innodb 索引使用指南
  • SpringCloud集成分布式事务LCN (一)
  • WebSocket使用
  • 订阅Forge Viewer所有的事件
  • 高程读书笔记 第六章 面向对象程序设计
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 目录与文件属性:编写ls
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 数组的操作
  • 一个完整Java Web项目背后的密码
  • 因为阿里,他们成了“杭漂”
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 责任链模式的两种实现
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • kubernetes资源对象--ingress
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • (07)Hive——窗口函数详解
  • (70min)字节暑假实习二面(已挂)
  • (ros//EnvironmentVariables)ros环境变量
  • (二)Linux——Linux常用指令
  • (翻译)terry crowley: 写给程序员
  • (万字长文)Spring的核心知识尽揽其中
  • (未解决)macOS matplotlib 中文是方框
  • (一)u-boot-nand.bin的下载
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转载)hibernate缓存
  • (自用)仿写程序
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET Core中的时区转换问题
  • .NET 读取 JSON格式的数据