首页
碎碎念
东邻西舍
本站信息
前来吐槽
统计
Search
1
openwrt系统上安装第三方插件
26,761 阅读
2
ubuntu下zerotier的基本使用教程
13,581 阅读
3
给小米R3G更换系统:从padavan刷成openwrt
12,849 阅读
4
openwrt使用第一步:设置上网拨号
10,744 阅读
5
openwrt无线中继功能:实现不插网线就能上网
9,522 阅读
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
登录
Search
标签搜索
Linux
建站
Java
踩坑实录
Ubuntu
MySQL
折腾搞机
HTML
CSS
MyBatis
Spring
SQL
Nginx
路由器
树莓派
OpenWrt
Maven
Git
Win10
只言片语
知识分子没文化
累计撰写
83
篇文章
累计收到
152
条评论
首页
栏目
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
页面
碎碎念
东邻西舍
本站信息
前来吐槽
统计
搜索到
18
篇与
的结果
2021-04-04
免费的网站运行状态监控工具——UptimeRobot
目录: 前言 一、将网站添加到监控列表 二、获取监控网站的api 三、修改项目文件 前言 这是我利用UptimeRobot搭建的网站状态监控站:https://status.wlplove.com UptimeRobot是国外的一个网站监控服务,添加网站到监控列表之后,可以24小时监控网站的运行状态,当网站无法访问时会立即通知用户。该服务提供了免费和付费两个版本,免费版的服务是5分钟检测一次,这个频率对于我的个人网站来说已经足够,所以就不考虑付费了(白嫖怪嘤嘤嘤)。 设置了监控服务之后,在UptimeRobot网站可以查看网站的监控状态,但是配置起来还挺麻烦的,访问速度也不快。因此不使用这种方式,而是基于官方提供的API,在本地搭建一个页面来显示网站的运行状态。 要用到的是github上一个基于UptimeRobot API的项目。 这是项目的github地址:https://github.com/yb/uptime-status 将这个项目clone拉取到本地。 一、将网站添加到监控列表 进入UptimeRobot官网,使用邮箱注册一个账号 之后登陆,点击“Go to Dashboard”,进入监控仪表盘 点击左上角“Add New Monitor”。按照如下设置给自己的网站添加监控: 二、获取监控网站的api 在仪表盘界面点击“My Setting”: 往下找到“Read-only API Key”选项,点击最后一行的“Create the read-only API key”,创建一个API key,然后复制下这个API,后面会用到这个API key。 三、修改项目文件 打开刚才从github上拉取下来的项目文件夹,我们要修改其中的“config.js”这个文件,只需要修改“SiteName”、“SiteUrl”、“ApiKeys”这三项,,前两项就是网站名和网站链接,第三项改成上一步复制的Api Keys,最后还有一个项是“Navi”,是指页面右上角的导航栏菜单项,改不改都行,不影响前面的显示。这个具体的修改细则作者已经在注释中说的很详细了。 整个修改完之后别忘了保存,然后打开 “index.html”,就能看到网站的运行状态了,大概是这样: 接下来把整个项目文件扔到网站的目录下,就算是大功告成了。
2021年04月04日
989 阅读
0 评论
0 点赞
2021-03-23
在网站的下方添加站点运行时间
在网站的下方添加站点运行时间 目录: 在网站的下方添加站点运行时间 1.修改function.php文件 2.修改footer.php文件 环境说明: 博客框架:Typecho V1.1-17.10.30-release 主题:Joe 4.7.7 系统:ubuntu20.04 我的博客目前在用的是 Typecho 框架 + Joe 主题。目前(截止2021 年 3 月)已经更新到了 6.1.0 版本,新版本较旧版本(4.x)在 UI 界面上整体变化不大,主要是多了不少细节,但是同时在设置选项里也阉割掉了不少之前可以设置的项,以及我很喜欢的文章归档功能也没了,所以在新版本主题没有稳定版之前先保持观望状态。可以我又十分眼馋新版本里加入的显示站点运行时间的功能,就去网上找到了些资料,所以有了这篇博客。 2021.07.03 - 更新: 新版本 7.3.0 发布,还是升级了主题,所以本篇问题终结。 以下的方法理论上来说也是适用于wordpress框架的博客,但是由于精力有限(不是我懒),只在 Typecho 框架的 Joe 主题上成功实行,所以本篇博客只讨论 Typecho 的情况。建议在折腾之前生成一次服务器快照,在修改不合适的时候可以回滚到之前的状态。 下面为具体的实施方法: 1.修改function.php文件 进入当前使用的 Typecho 主题的所在目录,找到 function.php 文件,进行编辑。 直接划到文件末尾,找到“ ?> ”结束标志,在结束标志前将以下代码粘贴进去(注意代码格式): // 设置时区 date_default_timezone_set('Asia/Shanghai'); /** * 秒转时间,格式 年 月 日 时 分 秒 * */ function getBuildTime() { // 在下面按格式输入本站创建的时间 $site_create_time = strtotime('2020-11-29 00:00:00'); $time = time() - $site_create_time; if (is_numeric($time)) { $value = array( "years" => 0, "days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0, ); if ($time >= 31556926) { $value["years"] = floor($time / 31556926); $time = ($time % 31556926); } if ($time >= 86400) { $value["days"] = floor($time / 86400); $time = ($time % 86400); } if ($time >= 3600) { $value["hours"] = floor($time / 3600); $time = ($time % 3600); } if ($time >= 60) { $value["minutes"] = floor($time / 60); $time = ($time % 60); } $value["seconds"] = floor($time); //在下面可以修改站点运行时间的文字说明和颜色等 echo '本站点运行了<span class="btime" style="color:#6495ED">'.$value['years']. '年'.$value['days']. '天'.$value['hours']. '小时'.$value['minutes']. '分</span>'; } else { echo ''; } } 这段代码里自行修改站点的运行时间以及时间的文字提示,具体修改位置在注释中也有说明,修改完保存。 2.修改footer.php文件 在 Joe 主题中,footer.php 文件在主题目录下的 public 文件夹中,其他主题就不一定了。(反正就是写页脚的那个 php 文件) 打开文件,调用刚才新添加的函数: <?php getBuildTime(); ?> 当然,添加位置决定了运行时间在下方的具体显示位置,我在以下的地方调用了这个函数: 保存之后,刷新之后,就可以查看到效果了,显示位置为页脚的右边:
2021年03月23日
2,152 阅读
0 评论
0 点赞
2021-02-16
收集几个常用的搜索引擎网站收录入口
网站建立好之后,流量不可能立即就有,除了网站自身内容要优秀之外,还得想点其他办法来吸引流量,因为有时候“酒香也怕巷子深”。让搜索引擎去收录我们的网站有时候就是一种重要的引流途径,甚至对于我这种不善于做也懒得做广告宣传的来说就是唯一的引流途径,所以让搜索引擎来收录网站就显得很重要了。下面是我收集的几个常用搜索引擎的网站收录入口: 百度:https://ziyuan.baidu.com/linksubmit/url 谷歌:https://www.google.com/webmasters/tools/submit-url 微软必应:https://www.bing.com/webmasters/homepage 搜狗:http://zhanzhang.sogou.com/index.php/sitelink/index 360搜索:http://info.so.com/site_submit.html
2021年02月16日
1,345 阅读
1 评论
0 点赞
2021-02-07
免费的泛域名证书——Let's encrypt证书
目录: 安装之前 1.安装acme.sh脚本 2.获取域名服务商的DNS api 3.生成证书 4.续签证书 5.问题及注意事项 5.1.安装脚本时提示加载 api 脚本失败 5.2.添加 TXT 解析记录失败 5.3.申请证书时卡在验证步骤 5.4.注意事项 环境说明: Linux:ubuntu 20.0.4 nginx:1.18 域名服务商:阿里云 安装之前 关于如何给 Nginx 服务器安装 SSL 证书,在之前的博客 为Nginx服务器安装SSL证书实现站点的HTTPS访问 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com) 这一篇中写过,里面详细介绍了申请到安装的一系列流程,只不过,上一篇是以申请阿里云的免费单域名证书为例来介绍SSL证书的安装,而本篇则主要来详细介绍一下泛域名证书(也叫通配符证书)的申请。 如果你不明白单域名证书与泛域名证书的区别,那么可以看看这篇:通配符ssl证书与单域名、多域名版的区别,通配符证书有哪些品牌呢?。 简单来说,单域名证书只适用于单个三级域名,而泛域名证书适用于二级域名以及二级域名下所有带前缀的的三级域名。 阿里云、腾讯云等平台的单域名证书很容易就能免费申请到,但是泛域名证书普遍都是收费的。对于个人来说,如果需要使用泛域名证书,也有免费的渠道可以申请到,那就是 Let's encrypt 签发的泛域名证书。 可以用来申请 Let's encrypt 证书的工具太多了,官网文档上列出来的就有几十种,本篇博客使用 acme.sh 脚本来申请 Let's encrypt 证书。 1.安装acme.sh脚本 这是其 Github 项目链接:https://github.com/acmesh-official/acme.sh 官方说明文档:安装脚本-英文说明、中文说明 官方文档中安装脚本有这么几种方法: 从https://get.acme.sh上安装: curl https://get.acme.sh | sh 或者: wget -O - https://get.acme.sh | sh 从github安装: curl https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh | sh 从github上克隆整个项目: # 这一步要用到git,安装过的可以忽略,没有安装的用以下命令安装git: sudo apt install git # 克隆项目目录 git clone https://github.com/acmesh-official/acme.sh.git # 进入克隆完成的目录 cd acme.sh # 给脚本文件执行权限 chmod a+x acme.sh # 运行脚本文件,这个邮箱用来接收证书续订的通知,不可省略 ./acme.sh --install --accountemail [邮箱] 1.执行脚本时,如果碰到报错: /usr/bin/env: ‘sh\r’: No such file or directory 可尝试这个方法:Linux系统下运行bash脚本提示/usr/bin/env: ‘bash\r’: No such file or directory - Cqlismy - 博客园 (cnblogs.com) 2.关于安装时acme.sh的一些高级选项及其用法: --home:自定义安装 acme.sh 的目录. 默认情况下安装在 ~/.acme.sh。 --config-home:设置一个目录来保存证书、密钥、配置等文件,默认情况下,保存在 --home。 --cert-home:保存证书的目录,默认情况下,保存在 --config-home。 --accountemail:用来注册 Let's Encrypt 账户的邮箱,通过这个邮箱来接收证书续订通知的邮件。 --accountkey:保存帐户私钥的文件,默认情况下,保存在 --config-home。 --user-agent:访问 Let's Encrypt 服务器时的浏览器标识。 3.脚本在安装的过程中,做了3件事: 复制 acme.sh 到 HOME 目录($HOME):~/.acme.sh/ 之后所有生成的证书也会放在这里 创建别名:acme.sh=~/.acme.sh/acme.sh 创建 cron 每日任务去检查是否有证书需要更新 如: 0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null 我在安装的时候,前两种方法都不成功,只有第三种方法管用。所以根据自身情况选择一种方法安装即可,但是用第三种方法的时候要记得克隆完项目之后执行脚本。 如果安装完成之后,使用 acme.sh 命令时提示找不到命令,则需要重新加载一下环境变量: source ~/.bashrc 接下来,我们需要来验证我们对这个域名的所有权,因为很容易就能想到,SSL 证书签发机构肯定不能随意签发证书。 通常的验证方式有两种: 文件验证:需要在网站根目录下放置一个文件,来验证域名所有权 DNS验证:给域名添加一条 TXT 解析记录,也可以用来验证域名所有权 建议使用 DNS 验证,这种方式的好处是,不需要任何服务器,不需要任何公网 IP,只需要 DNS 的解析记录即可,并且如果有域名服务商的DNS api ,甚至都不需要我们手动添加 TXT 解析记录,脚本会自动完成添加解析记录的过程,验证完成之后还会聪明地删掉解析记录。 2.获取域名服务商的DNS api 因为博主只有阿里云域名,没有其他服务商那里的域名,这里以阿里云为例来说明如何获取 api。 进入 阿里云AccessKey管理界面 并登录,点击左上角创建 AccessKey,就会弹出一个页面,上面是创建出来的 AccessKey,将其复制下来。 关于 api 的使用方法,官方文档 How to use DNS API 说明的很详细,可以自己查阅,根据自己的域名商选择对应的就行。阿里云对应的是文档中第 11 个,那么按照文档中的方法,在命令行中输入: # 设置环境变量,对应的等号后面换成自己的key和secret,双引号别丢了 export Ali_Key="key" export Ali_Secret="secret" 3.生成证书 下面这一步就很简单了,根据官网文档 dnsapi · acmesh-official/acme.sh Wiki (github.com),一句命令就能签发证书: acme.sh --issue --dns dns_ali -d *.langp.wang -d langp.wang 上面这句命令适用于阿里云平台的域名,其中的 langp.wang 改为需要签发证书的域名即可,后面的 -d *.langp.wang 参数表示生成适用于所有三级域名的泛域名证书,当然也可以改成 -d langp.wang 来生成单域名证书,或者两个参数都加上也可以。 证书如果签发成功,会有“success”字样提示,末尾处会输出生成的证书文件的位置与名称: 根据官方文档,对应的秘钥文件是xxx.key,证书文件是fullchain.cer,接下来就可以安装证书了。Nginx 服务器安装 SSL 证书的方法可以参考我的另一篇博客:为Nginx服务器安装SSL证书实现站点的HTTPS访问 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com)。 4.续签证书 签发好的泛域名证书是三个月的期限,过期了需要重新签发,才能继续使用: acme.sh --renew -d *.langp.wang -d langp.wang --force 同样的,将命令中的 langp.wang 改为续签证书的域名即可。 5.问题及注意事项 5.1.安装脚本时提示加载 api 脚本失败 脚本文件在上传到服务器之前在 windows 本地被打开过了,其格式被改变,在 Linux 系统中执行时便出现报错。 可尝试这个方法:Linux系统下运行bash脚本提示/usr/bin/env: ‘bash\r’: No such file or directory - Cqlismy - 博客园 (cnblogs.com),或者重新下载一次脚本文件。 5.2.添加 TXT 解析记录失败 大概率是 DNS api 的问题。可尝试换一个 api,然后修改 .acme 文件夹下的 acme.conf 文件中的 api。 5.3.申请证书时卡在验证步骤 解决办法: 申请之前执行这条命令: export ACME_USER_WGET=1 上个办法如果无效,那么可能是由于申请失败的次数太频繁,被加入了黑名单,等待一两天之后再申请 5.4.注意事项 Nginx 的配置 ssl_certificate 使用生成的 fullchain.cer ,而非 <domain>.cer ,否则会报 Chain issues Incomplete 错误 证书续签时,直接在原来的脚本文件目录上执行签发命令,可以不用执行设置 api 的命令。前提是 api 依然有效 更新完本地证书之后,需要重载 Nginx 配置文件: nginx -s reload # 或者 nginx -s force-reload 服务器的证书更新之后,CDN 服务也需要更新证书
2021年02月07日
1,953 阅读
0 评论
0 点赞
2021-01-27
在ubuntu上手动搭建LNMP环境
前排提示: 本篇博客篇幅较长,建议结合目录进行阅读! 目录: 前言: 一、安装nginx 二、安装php及部分组件 三、配置Nginx文件 四、安装配置Mysql 1. 输入以下命令安装: 2. 修改Mysql加密方式,并修改密码 五、上传网站文件 六、安装配置phpMyAdmin 环境说明: Linux:ubuntu 20.04 Nginx:1.18 Mysql:8.0 PHP:7.3 前言: 什么是LNMP?简单来说,就是网站的运行环境,即L(Linux) +N(Nginx) +M(Mysql/MariaDB)+P(php/Perl/Python),这四类开源软件技术,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。 现在有软件能很方便地安装LNMP环境,比如宝塔面板,优点就是简单快捷,对于使用者的技术要求不高,适合没有基础的非专业人士建站使用,但同时由于过于方便,在建站中反而学习不到多少相关的技术,因此我在建站过程中果断弃用宝塔面板,选择自己手动搭建LNMP环境。 当时搭建LNMP环境的过程中,网上找了很多资料和博客都是良莠不齐,同时也踩了不少坑,不过好在最后还是搭建成功了,所以就把整个过程整理整理记录下来,防止以后遗忘。 不想自己折腾的小伙伴可以直接安装宝塔面板一键安装LNMP环境,不同版本的Linux系统安装宝塔命令的命令不同,相关方法可以查阅我的另一篇博客:Linux系统安装宝塔面板。 以下就是ubuntu环境中我配置LNMP环境的全过程: 一、安装nginx 引用相关百科中的内容简单介绍一下nginx: nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 安装nginx的命令很简单,就一句话: sudo apt install nginx 安装完之后,访问服务器IP地址,即可访问到Nginx的初始页面: 二、安装php及部分组件 sudo apt install php-common php-cli php-fpm php-mysql php-mbstring php-curl php-gd php-twig php-json php-opcache php-readline 此命令没有指定版本,默认安装的是最新版本的php和组件,如果要安装旧版本的php,参照以下方法: # 1.添加仓库: sudo apt install software-properties-common # sudo apt install python-software-properties sudo add-apt-repository ppa:ondrej/php # 2.更新软件源 sudo apt update # 3.安装指定版本php sudo apt install php[版本号]-common php[版本号]-fpm php[版本号]-mysql php[版本号]-mbstring php[版本号]-curl php[版本号]-gd php[版本号]-json php[版本号]-opcache php[版本号]-readline 三、配置Nginx文件 第一步中,我们已经能够成功访问Nginx页面了,此时再次配置Nginx文件,使其可以处理php页面。 关于Nginx文件的配置,我也是在网上查了很多东西才有点头绪的(所以就想多哔哔几句)。 一般来说(适用于在ubuntu环境下使用apt命令安装的nginx),nginx的配置文件是/etc/nginx目录下的nginx.conf,这个文件中的配置信息可以用include语句从其他目录引入配置文件。其中,这个目录(/etc/nginx)下的sites-enabled文件夹就是被引入的,同目录下还有一个名为sites-available的文件夹,这两个文件夹的作用是不同的,简单介绍一下。sites-available文件夹里面放的是不生效的网站配置文件,sites-enabled文件夹里是目前生效的网站配置文件。在默认未修改的情况下,sites-available文件夹中存放了一个nginx静态页面的配置文件default,对应sites-enabled文件夹中放的是default这个文件的软连接(不知道什么是软连接的同学点这里,简单说就是类似于快捷方式),这样一来就能访问到默认页面了。 所以,就可以这样修改配置文件,即需要建立新站点时,在sites-available中新建一个配置文件(文件名不做要求),在这个文件中写入站点的配置信息并保存,然后在sites-enabled文件夹中建立指向这个配置文件的软连接,即可完成配置。当然,有聪明的小伙伴肯定能想到,为什么要这么麻烦呢,直接更改sites-enabled下的配置文件不行么,那当然是可以了,接下来的配置方法就是基于这个思路的。 哔哔了这么多,现在就开始吧: # 直接在sites-enabled文件夹下面进行编辑 cd /etc/nginx/sites-enabled # 删除/etc/nginx/sites-enabled文件夹中的默认配置文件 sudo rm default 用touch命令在这个文件夹中新建一个配置文件website,然后进行编辑 # 新建配置文件 sudo touch website # 编辑这个配置文件 sudo nano website 将下面的配置直接粘贴到这个文件中,关于这段配置的含义及修改方法,下面注释中做了简单说明,更详细的配置可以参考这篇文章:nginx 配置详解(新手必看) # HTTP服务配置 server { listen 80; # www.langp.wang改为你的域名或者“_” server_name www.langp.wang; # 存放网站文件的根目录,/var/www/html是nginx静态文件所在的默认目录,这里新建一个文件夹website来放新的网站文件 root /var/www/html/website; # 以下的配置信息基本可以不用改了,复制过去就能用 index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } # 加入php的配置,使服务器可以处理php网页 location ~ \.php$ { #include snippets/fastcgi-php.conf; # 使用php-fpm(或其他unix套接字): fastcgi_pass unix:/run/php/php-fpm.sock; # 使用php-cgi(或其他tcp套接字): #fastcgi_pass 127.0.0.1:9000; # 设置脚本文件请求的路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 引入fastcgi的配置文件 include fastcgi_params; } } 修改完成后,ctrl + o保存,ctrl + x退出,然后使用以下命令重启Nginx服务,使配置生效: sudo nginx -s reload # 或者 sudo service nginx reload Nginx配置完了,现在来看是否配置成功,在网站根目录/var/www/html/website(或者是你配置文件中自定义的网站根目录)下新建一个文件index.php,在里面键入: <?php phpinfo(); ?> 然后保存退出。 如果前面配置都没问题的话,现在用浏览器访问服务器ip地址或者解析后的域名就能访问到本机安装的关于php的信息了: 四、安装配置Mysql Mysql就不用多说了,大名鼎鼎的关系型数据之一。 1. 输入以下命令安装: sudo apt install mysql-server 2. 修改Mysql加密方式,并修改密码 安装完成之后,先登录mysql: sudo mysql -uroot -p 接下来提示输入密码,直接按回车即可进入 然后修改mysql加密方式和密码: # 对于的mysql 8以上,使用以下命令更改mysql8的加密方式,为root用户更改密码: alter user 'root'@'localhost' identified with mysql_native_password by '新密码'; # mysql 8以下: update mysql.user set plugin='mysql_native_password'; update mysql.user set password=password("新的密码") where user='root'; #或者 set password for root@localhost=password('新的密码'); # 我们也还可以使用mysqladmin命令来进行修改 mysqladmin -u root -p '旧密码' password '新密码'; alter user root@localhost identified by '新密码'; 修改完之后,刷新权限信息,输入: flush privileges; 然后输入exit退出mysql控制台,重新登录mysql,使用刚才的密码就能进入数据库了。 五、上传网站文件 在网站根目录下,将前面测试用的“index.php”文件删除。 然后将网站文件通过FTP工具或者其他手段上传到nignx配置文件中设置的根目录下,在浏览器输入域名或者IP地址,就能访问到网站了。 六、安装配置phpMyAdmin 到这里,LNMP环境算是安装完了。但是目前只能用命令行方式管理数据库,为了减轻我们的工作量,我们需要安装一个图形界面工具来管理数据库。phpMyAdmin就是这样一个图形化的工具,可以直接在网页端管理数据库,当然,如果有其他数据库工具,这一步可以不安装。 phpMyAdmin的安装命令同样很简单: sudo apt install phpmyadmin 安装过程中会弹出来几个界面选择: 由于我们安装的服务器软件是nginx,所以这里的apache2和lighttpd都不选,直接按Esc退出; 选择yes 输入一个密码 再次输入密码确认,安装就算完成。 安装完成后还要把phpMyAdmin连接到nginx服务器根目录上,因此建立软连接: sudo ln -s /usr/share/phpmyadmin /var/www/html/website 此时在浏览器中访问:域名/phpmyadmin/index.php,即可访问到phpmyadmin的登陆页面: 用mysql的帐号密码即可登录管理数据库。 到这里LNMP环境的搭建就算是全部完成了,把相应的网站文件上传到设置好的网站的根目录下,用域名或者ip地址进行访问。 另:如果你跟我一样都是安装typecho框架,还需要给博客设置伪静态,typecho博客若不进行此设置,则会出现只能访问首页却访问不了后台和文章的问题。设置方法:typecho设置伪静态规则 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com)
2021年01月27日
1,490 阅读
0 评论
3 点赞
1
2
3
4