首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
53 阅读
2
aris常用命令收集
22 阅读
3
Centos7本地yum源更换阿里云
21 阅读
4
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
19 阅读
5
告别破解!用Aspose.Words实现Java版Word转PDF的实战指南
16 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
模块一
端口
模块五
数据库
模块九
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
589
篇文章
累计收到
8
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
13
篇与
的结果
2025-02-25
frp 部署及使用(内网穿透)
前言FRP(Fast Reverse Proxy) 是一个开源的反向代理工具,主要用于内网穿透和远程访问。它可以通过映射网络服务(如 HTTP、TCP、UDP 等)到公网,实现内网服务的外网访问,特别适合在无公网 IP 或有防火墙限制的场景下使用。 下载地址:https://github.com/fatedier/frp/releases {cloud title="下载链接" type="default" url="https://github.com/fatedier/frp/releases" password=""/}详细使用文档:https://gofrp.org/zh-cn/docs/overview/核心功能内网穿透反向代理自定义域名跨网络访问安全性多种高级功能一、环境准备说明一下frp 分为: 1、frps 服务端(外网使用);2、frpc 客户端(内网使用)模拟环境:家用服务器没有公网 ip 云服务器有公网 ip 两服务器系统环境均为:Ubuntu 24.04 frp服务包: (两个环境版本一致) 二、安装包准备{cloud title="蓝奏云," type="lz" url="https://daimafengzi.lanzout.com/b01tp77j0f" password="2t25"/}{cloud title="天翼云盘,(访问码:kn18)" type="default" url="https://cloud.189.cn/web/share?code=ZZrEvm32iqiy" password=""/}{cloud title="123云盘" type="default" url="https://www.123684.com/s/0ztiVv-vUaod?" password="R14f"/}三、外网服务器部署 frps上传压缩包到任意目录然后解压,示例 /usr/local/ 目录# 解压到当前目录 unzip frps.zip # 移动并改名 mv frps /usr/local/frps # 创建 frp 用户 useradd -r -s /usr/sbin/nologin -M frp # 授权文件夹 chown -R frp:frp /usr/local/frp备份并修改 frps 配置文件 frps.toml (直接执行命令,不用手动编辑)# 备份配置文件 cp /usr/local/frp/frps.toml /usr/local/frp/frps.tomlbak# 直接执行覆盖原来的配置 /usr/local/frp/frps.toml > [common] # 服务端绑定的端口,用于客户端与服务端通信的核心端口。需要确保该端口对外网开放。 bind_port = 7000 # HTTP 代理的虚拟主机端口。用于通过域名访问客户端的 HTTP 服务,需配置 DNS。 vhost_http_port = 80 # HTTPS 代理的虚拟主机端口。用于通过域名访问客户端的 HTTPS 服务,需配置 DNS。 vhost_https_port = 443 # 密钥,是自定义的,想怎么填写就怎么填写,但客户端和服务端必须保持一致,确保安全通信。 token = "Frp20241129" # 仪表板端口,用于查看 frps 服务端的运行状态和管理客户端连接。访问地址:服务器IP:7500 dashboard_port = 7500加入系统服务并开机自启动 # 加入系统服务 /etc/systemd/system/frps.service [Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml [Install] WantedBy = multi-user.target # 重载配置使其生效 systemctl daemon-reload # 启动 frps 服务 systemctl start frps.service # 设置开机自启 systemctl enable frps.service四、内网服务器部署 frpc上传压缩包到任意目录然后解压,示例 /usr/local/ 目录# 解压到当前目录 unzip frpc.gz # 移动并改名 mv frpc /usr/local/frpc # 创建 frp 用户 useradd -r -s /usr/sbin/nologin -M frp # 授权文件夹 chown -R frp:frp /usr/local/frp备份并修改 frpc 配置文件 frpc.toml (直接执行命令,不用手动编辑)cp /usr/local/frp/frpc.toml /usr/local/frp/frpc.tomlbak# 直接执行覆盖原来的配置 /usr/local/frp/frpc.toml > [common] server_addr = "此处引号内填写外网服务器的公网IP" # 服务端口 server_port = 7000 # 密钥,需要和 frps 配置一致 token = "Frp20241129" # 配置每个内网服务 # 服务名称,随便写,自己能看懂就行 [ssh_test] type = "tcp" local_ip = "127.0.0.1" # 家用服务器上暴露的端口 local_port = 22 # 外网服务器上暴露的端口,ssh时候,使用外网 IP 和这个端口可以远程访问家里的服务器 remote_port = 2299 # 服务名称,随便写,自己能看懂就行 [web_server] type = "http" local_ip = "127.0.0.1" # 家用服务器上暴露的端口 local_port = 80 # 外网服务器上暴露的端口,使用外网 IP 和这个端口可以远程访问家里web服务,这个配置和域名 #remote_port = 6001 # 用于 HTTP 和 HTTPS 域名的代理。填写自己的域名,没有就注释这个配置,启用 remote_port 配置 custom_domains = "www.adbc.cn" #remote_port 和 custom_domains 配置冲突,只能使用一个 加入系统服务并开机自启动 # 加入系统服务 /etc/systemd/system/frpc.service [Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type = simple ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml [Install] WantedBy = multi-user.target # 重载配置使其生效 systemctl daemon-reload # 启动 frps 服务 systemctl start frpc.service # 设置开机自启 systemctl enable frpc.service五,查看 frpc 是否在 frps 内注册,并测试网页访问使用外网手机或者电脑访问域名,测试通过。域名记得配置 公网DNS解析 。
2025年02月25日
3 阅读
0 评论
0 点赞
2024-11-29
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置内容有点长,让我缕缕前言说起异地组网,之前一直在使用zerotier-planet进行搭建,使用了一段时间也挺稳定,唯一的不足就是ios平台由于系统限制没办法修改planet文件,也就没法进行组网。网上找了一圈,看到很早就有人在官方论坛里面提过这个需求,但是官方似乎对此兴趣好像不大,没办法只能研究其他组网方式,找了一圈后最后确定下来使用wireguard搭建中继服务器进行组网,wireguard的各平台支持也都比较齐全,其功能也都满足我的需求,在此记录下组网过程。画个图安装wireguard #Ubuntu22 apt install -y wireguard #Centos yum install -y wireguard #armbian yum install -y wireguard #KylinV10 yum install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1一键命令,一次性搞定。wg-gen-web 配置wg-gen-web 仓库对于新手来说,如何才能快速把 WireGuard 用起来呢?当然是通过图形管理界面啦,填几个参数,生成个二维码,再拿客户端扫下二维码就连上了,简直是比爽姐还爽~wg-gen-web 就是这样一款图形管理界面,主要包含以下这些功能:根据 CIDR 自动分配 IP 地址给客户端;每个客户端会生成 QR 二维码,方便移动客户端扫描使用;支持通过邮件发送二维码和配置文件;支持启用和禁用某个客户端;支持 IPv6;支持使用 GitHub 和 Oauth2 OIDC 来进行用户认证;颜值还比较高。wg-gen-web 支持直接通过容器来运行,如果你是在本地运行,可以准备一份 docker-compose 文件:version: '3.6' services: wg-gen-web: image: vx3r/wg-gen-web:latest container_name: wg-gen-web restart: always expose: - "8080/tcp" ports: - 80:8080 environment: - WG_CONF_DIR=/data - WG_INTERFACE_NAME=wg0.conf - OAUTH2_PROVIDER_NAME=fake - WG_STATS_API=http://<API_LISTEN_IP>:8182 volumes: - /etc/wireguard:/data network_mode: bridge wg-json-api: image: james/wg-api:latest container_name: wg-json-api restart: always cap_add: - NET_ADMIN network_mode: "host" command: wg-api --device wg0 --listen <API_LISTEN_IP>:8182我习惯于用docker命令来安装:docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest这里还用到了另外一个项目 wg-api,该项目提供了一个 JSON-RPC 接口,用来暴露 WireGuard 的网络状态信息。其中 <API_LISTEN_IP> 可以直接替换成 docker0 的 IP。执行以下命令运行 wg-gen-web:docker-compose up -d在浏览器中输入 URL 打开图形管理界面,点击 “SERVER” 开始填写服务端和客户端的配置信息:这里的 PostUp和PostDown我只有如下设置的时候才行,不知道是不是我的内网原因。各位看着弄 #PostUp iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #PostDown iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE填写好配置信息后,直接点击 UPDATE SERVER CONFIGURATION 保存,同时会生成配置文件 wg0.conf: cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE注意: 这里如果需要多个内网网段,记得都填写下去接下来点击 CLIENTS,然后点击 ADD NEW CLIENT 开始新增客户端配置:填写客户端配置信息:点击 SUBMIT,就会在 /etc/wireguard 目录下生成客户端的 json 配置文件:cat /etc/wireguard/f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f { "id": "f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f", "name": "test", "email": "yangchuansheng33@gmail.com", "enable": true, "ignorePersistentKeepalive": false, "presharedKey": "8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs=", "allowedIPs": [ "10.6.6.0/24" ], "address": [ "10.6.6.2/32" ], "tags": [], "privateKey": "ODN2xN12p5lwcEuj20C4uZV9kJE9yHz4eAHB/4czPEM=", "publicKey": "k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM=", "createdBy": "Unknown", "updatedBy": "", "created": "2021-01-20T05:19:16.659225991Z", "updated": "2021-01-20T05:19:16.659225991Z" }如果勾选了 “Enable client after creation”,还会将 peer 的配置加入 wg0.conf:cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # test / yangchuansheng33@gmail.com / Updated: 2021-01-20 05:19:16.659225991 +0000 UTC / Created: 2021-01-20 05:19:16.659225991 +0000 UTC [Peer] PublicKey = k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= PresharedKey = 8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs= AllowedIPs = 10.6.6.2/32最后直接启动 wg-quick 服务就行了:systemctl start wg-quick@wg0如果你之前已经启动过该服务,现在只需要重启就行了:systemctl restart wg-quick@wg0每次更新配置后都要手动 reload 还是很麻烦的,我们可以通过 systemd 来监听配置文件的实时变化,一但配置文件有所改动,就立即触发 reload。方法也很简单,先创建一个 wg-gen-web.service 用来 reload:# /etc/systemd/system/wg-gen-web.service [Unit] Description=Restart WireGuard After=network.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl reload wg-quick@wg0.service [Install] WantedBy=multi-user.target然后再创建一个同名的 wg-gen-web.path 用来监听文件变化:# /etc/systemd/system/wg-gen-web.path [Unit] Description=Watch /etc/wireguard for changes [Path] PathModified=/etc/wireguard [Install] WantedBy=multi-user.target设置开机自启:systemctl enable wg-gen-web.service wg-gen-web.path --now后面如果再到 Web 页面上更新配置信息,会立即触发 reload,不需要再自己手动 reload 了。查看接口信息:wg show wg0 interface: wg0 public key: dG5xPA7Q6X7ByeNl5pasI/8ZPhiTOsfsy0NUX4w2wmI= private key: (hidden) listening port: 51820 peer: k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= preshared key: (hidden) allowed ips: 10.6.6.2/32客户端建立连接Linux客户端# 安装wireguard apt install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1将上面服务器添加的客户端配置文件下载后 存放到 /etc/wireguard/并执行启动程序systemctl reload wg-quick@wg0启动后ping一下上面设置的局域网内网连接,如果通了,则组网成功!一些优化有时外网IP变化了,wg服务并未报错,但是也没有重连到中继服务器上,造成机器离线,这里新增一个watchdog服务进行连接保活监控# 新建watchdog服务 vim /lib/systemd/system/wg-watchdog.service # 添加下面代码到service中 [Unit] Description=Wireguard Watchdog After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=10 ExecStart=/etc/wireguard/watchdog.sh [Install] WantedBy=multi-user.target# 新建脚本 vim /etc/wireguard/watchdog.sh # 添加下面代码到watchdog.sh中 #!/bin/bash # TARGET_HOST 根据实际情况修改,这里是中继服务器的内网IP TARGET_HOST='10.0.1.1' # this is your wireguard network server IP UP=false while true do count=$(ping -c 1 $TARGET_HOST | grep rtt | wc -l) if [ $count -eq 0 ]; then echo "$(date)" "Target host" $TARGET_HOST "unreachable, reinitiating wireguard wg0 interface!" systemctl restart wg-quick@wg0 UP=false else if [ $UP = false ]; then echo "$(date)" "Wireguard connection reestablished!" fi UP=true fi sleep 10 done最后启动服务systemctl daemon-reload systemctl start wg-watchdog systemctl enable wg-watchdog脚本原理是每隔10秒ping一下中继服务器IP,如果ping不通则说明本机离线,检测到离线后就重启wg服务,这样就可以保证机器一直在线了。
2024年11月29日
4 阅读
0 评论
0 点赞
2024-11-19
rc.local中的命令不能执行
问题描述在使用较新版本的Ubuntu系统中,之前写入rc.local的开机执行命令不执行了。经探究发现,Ubuntu自18.04版本后改用systemd管理系统,不再用initd管理系统,默认也没有/etc/rc.local文件。问题分析先用systemctl status rc-local查看状态设置rc-local开机自启,输出如下错误信息:systemctl enable rc-local大概意思是rc-local服务文件没有install字段的相关信息,这些相关信息包括WantedBy, RequiredBy, Also, Alias。如果不写则系统不认为它是一个systemd服务。打开文件/lib/systemd/system/rc-local.service(如无此文件则新建),做如下配置:[Unit] Description=/etc/rc.local Compatibility Documentation=man:systemd-rc-local-generator(8) ConditionFileIsExecutable=/etc/rc.local After=network.target [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 RemainAfterExit=yes GuessMainPID=no [Install] WantedBy=multi-user.target # 指的是表示该服务所属 target Alias=rc-local.service其中Unit字段描述服务的启动顺序&依赖关系,Service字段描述如何启动,Install字段描述如何安装该服务。打开/etc/rc.local输入如下内容echo "rc.local was executed on $(date)" >> /var/log/rc.local.log给文件权限chmod +x /etc/rc.d/rc.local重启系统reboot查看日志是否有输出.有则搞定cat /var/log/rc.local.log
2024年11月19日
12 阅读
0 评论
0 点赞
2024-11-19
Linux安装Openvpn客户端.实现两台不同网络NAS互相访问
Linux安装Openvpn客户端.实现两台不同网络NAS互相访问注: 如果机器已经安装了openvpn,那么他是自带有客户端程序的操作步骤安装openvpn客户端通过yum或者源码安装openvpn, 安装过则跳过[root@lolicp ~]# yum install openvpn上传配置将ovpn配置文件上传至/etc/openvpn/client目录,并重命名为client.conf。可以直接把ovpn后缀直接改成conf后缀启动openvpn查看启动脚本[root@lolicp ~]# cat /usr/lib/systemd/system/openvpn-client@.service [Unit] Description=OpenVPN tunnel for %I After=syslog.target network-online.target Wants=network-online.target Documentation=man:openvpn(8) Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO [Service] Type=notify PrivateTmp=true WorkingDirectory=/etc/openvpn/client ExecStart=/usr/sbin/openvpn --suppress-timestamps --nobind --config %i.conf CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE LimitNPROC=10 DeviceAllow=/dev/null rw DeviceAllow=/dev/net/tun rw ProtectSystem=true ProtectHome=true KillMode=process [Install] WantedBy=multi-user.target启动openvpn,其中client为实例名称[root@lolicp ~]# systemctl start openvpn-client@client.service
2024年11月19日
3 阅读
0 评论
0 点赞
2024-08-20
jar项目宿主机java运行,加入系统服务实现自动启动以及systemctl控制
前言首先,我的启动命令如下,因为要对接nacos所以会比较长点.nohup java -jar -Dnacos.server-addr=127.0.0.1:8848 -Dnacos.namespace=prod -Dnacos.username=nacos -Dnacos.password=nacos /data/app-service/app-service-1.0.0.jar > /data/app-service/log/app.service 2>&1 &当然可以,这条命令是一个典型的用于后台启动 Java 应用程序的例子。下面是对这条命令各个部分的详细解释:nohup: 这个命令意味着即使用户退出登录(logout)后,被 nohup 命令启动的进程也不会终止。这对于长时间运行的服务来说非常有用。java -jar: 这是运行一个 JAR 文件的标准方式。-jar 参数告诉 Java 虚拟机 (JVM) 将给定的 JAR 文件作为应用程序来执行。-Dnacos.server-addr=127.0.0.1:8848: 这是一个 JVM 参数,用于设置 Nacos 服务器地址。这里指定了 Nacos 服务器的 IP 地址和端口为 127.0.0.1:8848。-Dnacos.namespace=prod: 同样是一个 JVM 参数,用于指定 Nacos 的命名空间。这里的命名空间是 prod,通常用来区分不同的环境或应用。-Dnacos.username=nacos 和 -Dnacos.password=nacos: 这两个参数分别用于指定访问 Nacos 服务器所需的用户名和密码。/data/app-service/app-service-1.0.0.jar: 这是指定要运行的 JAR 文件的路径。在这个例子中,JAR 文件名为 app-service-1.0.0.jar,位于 /data/app-service/ 目录下。> /data/app-service/log/app-service.log: 这个重定向操作符 (2>&1) 会把标准输出 (stdout) 重定向到指定文件中。在这个例子中,输出会被重定向到 /data/app-service/log/app-service.log 文件中。这意味着所有标准输出都会被记录到这个文件中,而不是显示在终端上。2>&1: 这个重定向操作符 (2>&1) 会把标准错误 (stderr) 重定向到与标准输出相同的地方。也就是说,所有的错误信息也会被记录到 /data/app-service/log/app-service.log 文件中。&: 这个符号表示命令应该在后台运行。这允许用户在启动服务后立即返回到命令行界面,并继续执行其他命令。部署创建成系统服务创建 app.service可以在本地创建好 在传到 /etc/systemd/system/ 目录下/usr/bin/java 需要改成自己的java环境对应地址/srv/sites/app.jar 改为自己jar存放包地址请确保/data/app-service/log的log目录存在[Unit] Description=Auth Center Service After=network.target [Service] User=root Group=root Type=simple ExecStart=/usr/bin/java -jar -Dnacos.server-addr=127.0.0.1:8848 -Dnacos.namespace=prod -Dnacos.username=nacos -Dnacos.password=nacos /data/app-service/app-service-1.0.0.jar > /data/app-service/log/app-service.log 2>&1 & ExecStop=/bin/kill -s TERM $MAINPID Restart=always RestartSec=10 WorkingDirectory=/data/app-service [Install] WantedBy=multi-user.target重新加载服务单元文件更新 app.service 文件后,请确保重新加载服务单元文件:systemctl daemon-reload启动服务systemctl start app.service检查服务状态systemctl status app.service设置服务开机启动systemctl enable app.service关闭开机启动systemctl disable app.service验证是否开机启动systemctl is-enabled app.service关闭服务systemctl stop app.service碰到错误项解决启动状态显示错误: code=exited, status=200/CHDIR一般都是目录权限问题原因1 :systemctl执行脚本时需要知道脚本的解释器原因2:目标目录的执行权限不够原因3:要执行的脚本编码格式不正确原因4:定义的workingdirectory路径有问题解决方法:在自定义脚本的开头加上#!/bin/sh修改目标目录的权限 chmod -R 777 /目标目录vi或vi编辑文件输入:set ff+回车键查看当前文件编码格式,:set ff=unix+回车键设置文件的编码格式为unix;Systemd下的服务配置,如果设定使用了workingdirectory,但是在systemctl start之前没有创建该目录,将会无法正常启动,并且根据缺省方式下的status提示信息和journalctl无法清楚地定位问题,如果使用到workingdirectory,需要事先保证该目录的创建,可以考虑使用systemd提供的debug日志进行确认;
2024年08月20日
3 阅读
0 评论
0 点赞
2024-08-08
linux 快速部署jar 并加入开机自启(超方便)
第一步cd /etc/systemd/system/第二步创建 app.service可以在本地创建好 在传到 /etc/systemd/system/ 目录下/usr/bin/java 需要改成自己的java环境对应地址/srv/sites/app.jar 改为自己jar存放包地址[Unit] Description=app service After=syslog.target [Service] Type=simple ExecStart=/usr/bin/java -jar /srv/sites/app.jar [Install] WantedBy=multi-user.target第三步重新加载systemctlsystemctl daemon-reload将app.service加入开机自启systemctl enable app.service #关闭开机启动,下面的命令不执行哦,不然不会开机启动了.只是作为备用 systemctl disable nacos.service查看状态systemctl status app.service启动systemctl start app.service重启systemctl restart app.service具体如图所示Active 为 active (running) 时则说明已经ok开机自启动验证为了确保服务在系统重启后能够自动启动,请再次确认服务是否已经正确地被设置为开机启动:systemctl is-enabled app.service如果输出为 enabled,那么一切都设置好了。后续更新jar后,进行重启操作就可以systemctl restart app.service查看实时日志journalctl -u app -f -n 500
2024年08月08日
4 阅读
0 评论
0 点赞
2024-05-06
centos7 Nginx一键安装自动化脚本
离线环境下 centos7 Nginx一键安装自动化脚本本文介绍了一个 Bash 脚本,可用于自动化安装 Nginx 服务器。该脚本简化了安装过程,省去了手动配置的繁琐步骤。脚本功能特点:使用方法:将提供的脚本保存到您的服务器中。使用 root 用户权限运行脚本。如果没有足够权限,脚本将无法执行。根据您的系统环境,确保正确配置以下参数:DEPENDENCY_DIR:Nginx的第三方依赖安装位置。NGINX_PACKAGE:Nginx 的安装包路径。NGINX_INSTALL_DIR:Nginx 的安装目录。NGINX_PID_DIR:Nginx PID 文件存储目录。执行脚本,等待安装过程完成。脚本将输出安装进度和结果信息。安装完成后,您可以使用 nginx -v 命令验证 Nginx 是否成功安装,并使用 systemctl status nginx 命令检查 Nginx 服务的运行状态。安装包网盘下载:Centos7-nginx-1.22.1https://www.alipan.com/s/AukA299pHpM点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。Centos7-nginx-1.22.1完整脚本如下所示: #!/bin/bash # **************************************************************** # * @Title: nginx一键自动安装脚本 # * centos7 环境下Nginx一键安装自动化脚本 # ***************************************************************** set -e # 定义路径 NGINX_PACKAGE="/usr/local/autoinstall/Nginx/lib/nginx-1.22.1.tar.gz" NGINX_INSTALL_DIR="/usr/local/nginx" NGINX_WORKSPACE="/usr/local/nginx/nginx-1.22.1" NGINX_PID_DIR="/usr/local/pid" NGINX_PID_PATH="$NGINX_PID_DIR/nginx.pid" DEPENDENCY_DIR="/usr/local/autoinstall/Nginx/third-lib/" # 必须以 root 用户身份运行 if [[ $EUID -ne 0 ]]; then echo "此脚本必须以 root 用户身份运行" exit 1 fi # 安装依赖 # 安装依赖 echo "正在安装依赖……" yum localinstall -y "$DEPENDENCY_DIR/gcc-c++"/*.rpm yum localinstall -y "$DEPENDENCY_DIR/zlib"/*.rpm yum localinstall -y "$DEPENDENCY_DIR/zlib-devel"/*.rpm yum localinstall -y "$DEPENDENCY_DIR/openssl"/*.rpm yum localinstall -y "$DEPENDENCY_DIR/openssl-devel"/*.rpm # 检查 Nginx 安装包是否存在 if [ ! -f "$NGINX_PACKAGE" ]; then echo "Nginx 安装包不存在。请确保文件存在后,再重新运行此脚本。" exit 1 fi # 创建必要的目录 echo "正在创建必要的目录并设置权限……" mkdir -p /var/log/nginx mkdir -p /var/temp/nginx mkdir -p "$NGINX_INSTALL_DIR" mkdir -p "$NGINX_PID_DIR" chmod 755 /var/log/nginx chmod 755 /var/temp/nginx chmod 755 "$NGINX_INSTALL_DIR" chmod 755 "$NGINX_PID_DIR" # 解压并安装 Nginx echo "正在解压并安装 Nginx……" tar -xf "$NGINX_PACKAGE" -C "$NGINX_INSTALL_DIR" cd "$NGINX_WORKSPACE" ./configure --prefix="$NGINX_INSTALL_DIR" --pid-path="$NGINX_PID_PATH" --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module make && make install # 检查 Nginx 是否安装成功 if [ ! -f "$NGINX_INSTALL_DIR/sbin/nginx" ]; then echo "Nginx 安装失败。请检查安装过程,然后再试一次。" exit 1 fi # 将 Nginx 可执行文件添加到系统路径中 echo "将 Nginx 可执行文件添加到 /etc/profile 的系统路径中……" echo "export PATH=\$PATH:$NGINX_INSTALL_DIR/sbin" >> /etc/profile source /etc/profile # 在 Nginx 配置文件中启用 pid echo "更新 Nginx 配置文件以启用 pid……" sed -i "s|#pid.*|pid $NGINX_PID_PATH;|" "$NGINX_INSTALL_DIR/conf/nginx.conf" # 创建 systemd 服务文件 echo "创建 systemd 服务文件……" cat << EOF > /etc/systemd/system/nginx.service [Unit] Description=The Nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=$NGINX_PID_PATH ExecStartPre=$NGINX_INSTALL_DIR/sbin/nginx -t -c $NGINX_INSTALL_DIR/conf/nginx.conf ExecStart=$NGINX_INSTALL_DIR/sbin/nginx -c $NGINX_INSTALL_DIR/conf/nginx.conf ExecReload=$NGINX_INSTALL_DIR/sbin/nginx -s reload KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=mixed PrivateTmp=true [Install] WantedBy=multi-user.target EOF # 启动并启用 Nginx 服务 echo "启动并启用 Nginx 服务……" systemctl daemon-reload systemctl start nginx systemctl enable nginx echo "Nginx 已成功安装并启动!"
2024年05月06日
2 阅读
0 评论
0 点赞
2024-04-28
idea项目连接docker超时报错
Docker开启远程访问编辑/usr/lib/systemd/system/docker.service文件在ExecStart=/usr/bin/dockerd 后面增加 -H tcp://0.0.0.0:2375然后运行命令:systemctl daemon-reload systemctl restart docker连接docker超时报错解决办法 关闭防火墙systemctl stop firewalld.service
2024年04月28日
3 阅读
0 评论
0 点赞
1
2