Linux 源码部署 redis 并设置开机自启,以及内网

我们首先去redis官网下载redis的源码包

中文站
英文站
下载完毕后我们导入到服务器任意目录,

tar -zxvf redisxxx.tar.gz 

###进行解压
解压完成以后我们就得到了redis的源码文件
我们对源码进行编译
执行

make

等到提示make is good的时候就可以了,

此时可能遇到的异常

/bin/sh: 1: pkg-config: not found
需要安装pkg-config

sudo apt update
sudo apt install pkg-config

/bin/sh: 1: cc: not found
需要安装c编译器

sudo apt update
sudo apt install pkg-config

l error: jemalloc/jemalloc.h: No such file or directory 50 | #include <jemalloc/jemalloc.h>
需要安装ibjemalloc-dev

sudo apt install libjemalloc-dev

cc: error: ../deps/hiredis/libhiredis.a: No such file or directory cc: error: ../deps/lua/src/liblua.a: No such file or directory cc: error: ../deps/jemalloc/lib/libjemalloc.a: No such file or directory make[1]: *** [Makefile:283: redis-server] Error 1 make[1]: Leaving directory '/usr/local/redis-6.0.6/src' make: *** [Makefile:6: all] Error 2
这个就有点麻烦了,这里我是 由于之前安装太多次失败,这里只需要清理旧的安装文件重新安装就可以了

make distclean
make

得到
redis源码文件

目录结构

# redis可执行文件
./redis-benchmark     #用于进行redis性能测试的工具
./redis-check-dump   #用于修复出问题的dump.rdb文件
./redis-cli                   #redis的客户端
./redis-server             #redis的服务端
./redis-check-aof       #用于修复出问题的AOF文件
./redis-sentinel          #用于集群管理

执行安装

make install #安装到指定目录,默认在/usr/local/bin

可以在安装后我们mv到我们满意的地方,

启动服务端,以及客户端

./redis-server ../redis.conf
./redis-cli

修改启动端口以及启动密码

来到源码目录打开redis.conf文件

sudo nano /urs/lib/redis/redis-6.0.6/redis.conf
修改启动端口

在这里插入图片描述

修改认证密码

在这里插入图片描述

设置后台运行

在这里插入图片描述
将这里的设置为yes即为后台守护运行

# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

开启外网访问

把bind设置为0.0.0.0即可同时(待测试)
这里不建议把protected-mode 设置为 no,至少在我们手滑忘记设置密码的时候它能帮你顶住
在这里插入图片描述

设置开启自启

开机自启脚本

[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/data/redis/bin/redis-server /data/redis/redis.conf
ExecReload=/data/redis/bin/redis-server -s reload
ExecStop=/data/redis/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

设置开机自启

systemctl enable redis.service

其他借鉴设置

[Unit]
Description=Frp Client Service
After=network-online.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=60s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini

[Install]
WantedBy=multi-user.target
[Unit]
Description=java tomcat project
After=tomcat.service

[Service]
Type=forking
User=users
Group=users
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

目前在使用的:

[Unit]
Description=Saberdoria Company Tomcat
After=network-online.target

[Service]
Type=forking
User=root
Group=root
PIDFile=/app/saberdoriaHome/tomcat.pid
ExecStart=/app/saberdoriaHome/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

如果是一个sh,请用/bin/bash 执行并且脚本开头要有bin/bash标识。。
如果脚本需要启动很多,可以用另一个sh进行调用;
如果报错;
在这里插入图片描述
解决:再执行脚本前添加source /etc/profile
如果启动java提示没有环境
在启动脚本中添加

JAVA_HOME=/usr/local/java/jdk1.8.0_321/
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source etc/profile

务必要看的一个东西

https://blog.csdn.net/m0_49194578/article/details/121223515

解决:另一个博主的方法

架设内网CT

开源项目github
另一个博主的教程
开源github项目
需要一台有公网的服务器,转发我们的树莓派数据,达到内网CT(伪)
这里我就利用我之前开的1vcpu-0.5gb阿里云服务器完成了。真正的工具人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值