让局域网内的电脑动态分配IP,可以借助硬件网络设备(如路由器等),不过一般功能比较弱,可能没有根据电脑的MAC地址分配特定的IP的功能。而Linux的dhcpd服务,就可以轻松做到。 一般Linux发新版本,都很容易安装 #centos  yum install dhcp #or ubuntu apt install isc-dhcp-server 以局域网192.168.1.0/24 网关192.168.1.254 DNS192.168.1.253、192.168.1.252 DHCP服务器192.168.1.2…

2021-02-27 0条评论 1330点热度 0人点赞 admin 阅读全文

有这么一个需求,需要把访问本机(192.168.1.1)的80端口的流量转发到局域网另一台服务器(192.168.1.2)的8080的端口上,如果是web服务,那么可以使用nginx进行反向代理把web流量用proxy_pass的方式转发到192.168.1.2上,我们将采用iptables的方式,可以将所有的tcp或者udp都转发到另一台机器上。 如果你的机器是CentOS7或者8,或者Ubuntu,默认没有安装iptables ,可以查看我的另一篇博文: https://blog.terrynow.com/20…

2021-02-17 0条评论 1756点热度 0人点赞 admin 阅读全文

对于从CentOS5、6或者Redhat等一些较低的Linux发行版本使用过来的人来说,都比较熟悉iptables防火墙,虽然新版的CentOS7或者Ubuntu提供了新版的防火墙(firewalld或ufw),但是还是比较习惯iptables的高度的可配置。 下面分别介绍下如何在CentOS7或者CentOS8,Ubuntu下安装iptables防火墙,并替代它自带的防火墙 #0、确认是否安装了iptables which iptables #1、关闭firewall: systemctl stop firewa…

2021-02-16 0条评论 1216点热度 0人点赞 admin 阅读全文

Let's Encrypt提供了免费的SSL/TLS证书,之前都是单个子域名申请一个证书,现在它提供了泛域名(通配符域名*.example.com)的申请,这样就更加简单了。 官方普通地申请方法,可以参考它的网站https://certbot.eff.org/ 按照步骤一步步操作就很容易申请好了,不过可能有个问题,需要安装它地客户端certbot,还会遇到依赖问题。我使用了 https://github.com/acmesh-official/acme.sh这个的好处是它实纯Shell脚本写的,很少有依赖问题。 c…

2021-02-14 0条评论 2385点热度 0人点赞 admin 阅读全文

nginx是现在最流行的web服务器之一,tomcat是Java界最流行的应用服务器之一,本文将介绍两个如何结合配置一起使用,也可以实现高级的负载均衡。 如果是CentOS等环境,可以使用yum命令安装 #安装epel-release yum install -y epel-release #安装nginx yum install -y nginx #启动nginx systemctl start nginx #开机自动启动nginx systemctl enable nginx 如果是Ubuntu等,可以使用ap…

2021-02-13 0条评论 1084点热度 1人点赞 admin 阅读全文

Linux下清空日志文件的方法:可以利用cat命令,例如要清空/var/log/nginx/access.log,如下: cat /dev/null > /var/log/nginx/access.log 2021年2月12号,大年初一,今天偷个懒放个假,写个简单的博客了。祝大家新年快乐,牛年大吉!

2021-02-12 0条评论 797点热度 0人点赞 admin 阅读全文

我们平时连接Linux服务器做维护的时候,通常是直接命令行(Terminal)下直接输入 ssh [email protected]  ssh -p1234 [email protected]类似这样的,然后接下来输入密码,如果运维的机器比较多,密码比较复杂或者都不一样的时候,每次输入就会比较麻烦,这时候,就可以采用key-file(免密码)登录了。 在客户端的命令行运行,提示key保存的位置,默认位置/Users/Terry/.ssh/id_rsa直接按回车就好了,我这里因为已经生成过了,提示/Users/Terry…

2021-02-05 0条评论 709点热度 0人点赞 admin 阅读全文

有时候,我们在 Shell 运行一个程序,把 Shell 窗口关掉,或者按 Control+C 关闭的时候,程序也会 kill 掉了,实际我们需要让他们在后台运行,并把它的控制台输出重定向到某个日志文件,可以这样做: /path/to/executable >/var/log/log1.log 2>&1 & #如果不要日志,/var/log/log1.log改成/dev/null #例如 java -jar /path/to/xxx.jar >/dev/null 2>&…

2021-01-31 0条评论 1046点热度 0人点赞 admin 阅读全文

场景:需要检查某个命令输出里包含某个字符串,有的话再执行下一步,没有的话,就说明脚本执行错误,需要发送提醒等等 简单的脚本举例如下: #检查/usr/local/sbin/ipsec auto --status的命令是否包含"IPsec SA established" /usr/local/sbin/ipsec auto --status | grep 'IPsec SA established' &> /dev/null if [ $? == 0 ]; then echo "matched" els…

2021-01-30 0条评论 705点热度 0人点赞 admin 阅读全文

我们在写 Shell 脚本的时候,cp 复制或mv移动的时候,因为要启用后台运行,想要处理已存在文件的时候,直接覆盖,而不要跳出确认。可是无论是否你加了-f参数,还是会提示是否覆盖。 经研究过后发现,是因为在~/.bashrc 加了如下,-i 是强制提示 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' 解决的办法有4个,以cp 为例,其他命令类似 直接输入命令,在cp前加上\即可实现,例如: \cp -fR /tmp/data/* /opt/data/ 利用管道…

2021-01-25 0条评论 1328点热度 0人点赞 admin 阅读全文
17891011