现在的大部分网站都启用了SSL加密(https),不加密的网站甚至被浏览器标记为『不安全』,所以有必要为我们的网站启用https加密,申请SSL证书的成本也很低(Let's Encrypt是免费的) 如何申请免费Let's Encrypt证书,详见我的另一篇博客:https://blog.terrynow.com/2021/02/14/acme-retrive-letsencrpt-https-ssl-cert-and-auto-renew/ 如何安装Nginx,详见我的另一篇博客:https://blog.ter…

2021-02-15 1条评论 1201点热度 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条评论 2403点热度 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条评论 1099点热度 1人点赞 admin 阅读全文

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

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

使用shell脚本,按规律找出某一类型的文件,并做批量删除,例如找出文件小于10KB的文件,或者特定文件名、后缀名的文件,并删除,详见如下示例: #删除当前文件夹下小于10K的文件 find ./ -size -10k | xargs -n 1 rm -f #递归删除某种类型的文件 #比如iredmail清空文件夹(找出文件名含有example.com的文件) find . -name "*.example.com,S=*" | xargs rm -rf #递归删除pdf文件 find . -name '*.pdf…

2021-02-08 0条评论 1015点热度 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条评论 716点热度 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条评论 1061点热度 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条评论 713点热度 0人点赞 admin 阅读全文

在写Shell脚本的时候,遇到要把数据POST到服务器的时候,POST的数据可能是动态的或者是其他Shell执行的结果。 以POST JSON为例 (如果要POST FORM-DATA或其他的,参考 Linux Bash Curl Post的例子) #注意=前后不要加空格 #一个普通变量的例子 name="xxx" #另一个例子,msg的内容是执行另一个shell脚本的执行结果的输出,我们准备把输出发送给API msg=$(/path/to/another_shell.sh 2>&1) curl ht…

2021-01-29 1条评论 2678点热度 0人点赞 admin 阅读全文

networksetup -listallnetworkservices #返回如下(主要有Ethernet有线网,Wi-Fi无线网络等): An asterisk (*) denotes that a network service is disabled. SAMSUNG CDMA Technologies USB-Serial Controller D USB 10/100/1000 LAN Ethernet Wi-Fi iPad USB iPhone USB Bluetooth PAN Thunderbol…

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