自定义调整项目的IP地址

环境

服务器:ubuntu18.04;
laravel版本:Laravel8.83.27;
PHP版本:7.4.33;
Nginx版本:1.22.1;
MySQL版本:5.7.34;
Redis版本:7.0.11;

调用

// 获取网关
$resultStr = shell_exec('ip route | grep default');
preg_match('/\d+\.\d+\.\d+\.\d+/',$resultStr,$gateway);
# $gateway[0]就是获取后的网关,博主暂时用不上

shell_exec("/www/wwwroot/test/app/Extend/Shell/update_ip.sh ". env('APP_IP') ." " . $ip);
参数说明
env(‘APP_IP’)项目的原始IP
$ip要调整后的IP
$gateway[0]当前服务器的网关

sh脚本源码

#!/bin/bash

# 修改nginx配置文件
sudo sed -i '4s/'"$1"'/'"$2"'/g' /www/server/panel/vhost/nginx/192.168.16.196.conf

# 修改公共配置文件
sudo sed -i 's/'"$1"'/'"$2"'/g' /www/wwwroot/monitoring/.env

# 清除配置缓存
cd /www/wwwroot/monitoring && /www/server/php/74/bin/php artisan config:clear

# 重启队列服务
cd /www/wwwroot/monitoring && /www/server/php/74/bin/php artisan queue:restart

# 重启Nginx服务
sudo /etc/init.d/nginx restart

# 修改网络配置
sudo nmcli connection modify "有线连接 1" ipv4.method 'manual' ipv4.addr "$2/24"

# 应用更改以使新的网络配置生效
sudo nmcli connection up "有线连接 1"


参数说明
$1sh脚本传的第一个参数,在这里就是 shell_exec函数传的第一个参数
$2sh脚本接受的第二个参数,在这里就是 shell_exec 函数传的第二个参数
有线连接 1服务器网卡的名称
4ss 前面加数字代表只替换某一行,这里就是只替换该文件的第四行的匹配项,反之不加则替换当前文件所有的匹配项

Tip:源码中的路径均为对应服务所在的路径,请根据自己的实际情况进行替换哈!!!

注意事项

特别感谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值