Centos7 完全卸载mysql

该日志由 samool 发表于 2020-12-16 11:39:11

采用yum安装mysql后,如果想要完全卸载mysql,可以采用如下方式:

  1. 查看mysql安装了哪些东西

**

rpm -qa |grep -i mysql

image.png

  1. 开始卸载

**

yum remove mysql-community-common-5.7.20-1.el7.x86_64
yum remove mysql-community-client-5.7.20-1.el7.x86_64
yum remove mysql57-community-release-el7-11.noarch
yum remove mysql-community-libs-5.7.20-1.el7.x86_64
yum removemysql-community-server-5.7.20-1.el7.x86_64
  1. 查看是否卸载完成

image.png

  1. 查找mysql相关目录

**

find / -name mysql

image.png

  1. 删除相关目录

**

rm -rf 

image.png

  1. 删除/etc/my.cnf

**

rm -rf /etc/my.cnf
  1. 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆)

**

rm -rf /var/log/mysqld.log

作者:linjiajiam
链接:https://www.jianshu.com/p/ef58fb333cd6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

该日志标签: 目录, 来源, 文件, 密码, 链接, mysql, 商业, server, el7, 5.7.20, remove, log

成都市郫都区新冠肺炎疫情检测通知

该日志由 samool 发表于 2020-12-07 16:40:02

12月7日,四川成都郫都区新增1例新冠肺炎确诊病例。患者卢某某,女,69岁,无业,居住于郫筒街道太平村11组。12月6日,因咳嗽、咳痰等症状,前往郫都区人民医院就诊。入院体温36.2℃,肺部CT显示双肺散在分布磨玻璃影。12月7日,经市疾控中心复核新冠病毒核酸检测阳性。经省、市、区专家会诊,综合临床、影像学表现和实验室核酸检查结果,诊断为确诊病例(普通型),已转运至成都市公共卫生临床医疗中心医院隔离治疗。

省、市、区立即启动应急预案,组织21支流调、检测和消杀专业队伍,全面开展流行病学调查,核酸检测、环境消杀和现场管控等措施。目前,已追踪到的密切接触者及密接的密接均已落实集中隔离观察和核酸检测。已对区人民医院、患者居住地等地区实施封控管理及人员和环境核酸检测。

下一步,将继续做好相关人员流行病学调查溯源和核酸检测工作,严格落实属地防控责任,做好闭环管理和各项防疫工作。同时,请广大市民做好个人防护,配合做好新冠肺炎疫情防控工作。

成都郫都区发布新型冠状病毒肺炎疫情检测通知

12月7日13时25分,成都市郫都区官方微博发布新型冠状病毒肺炎疫情检测通知。

广大市民朋友:

因疫情防控需要,为切实保障广大群众健康安全,严防疫情扩散,请下列人员于2020年12月7日内参加核酸检测。

一、检测对象

  1. 2020年12月6日8时至2020年12月7日8时期间前往过郫都区人民医院的所有患者、陪同人员、医护人员、工作人员。
  2. 2020年11月23日至12月7日到过郫筒街道太平村11组的人员。

二、检测时间

2020年12月8日24时前

三、检测地点

地点一:郫都区郫筒街道蜀都新邨党群服务中心(郫筒街道蜀信路二段290号)

地点二:西汇·西都会(郫筒街道鹃兴路63号)

四、注意事项

请参加核酸检测的人员,服从现场工作人员的统一安排,有序排队参加检测,做好个人防护。如有不适,及时前往医疗机构就诊。

成都市郫都区新型冠状病毒

肺炎疫情防控指挥部

2020年12月7日

来源:郫都发布

该日志标签: 成都, 朋友, 工作, 来源, 服务, 四川, 实验室, 管理, 病毒, 微博, 时间, 环境, , 防疫, 肺炎, 疫情, 郫都区, 核酸, 检测, 郫筒街道

远程桌面连接报【由于CredSSP 加密数据库修正】错误解决办法

该日志由 samool 发表于 2020-09-16 14:48:04

今天连接远程服务器时,出现这个错误提示,其它服务器都是好好的,唯独这台新服务器就报错

image.png

错误原因:查看微软CredSSP更新日志

查看win10系统升级日志,果然找到了原因,是因为CVE-2018-0886 的 CredSSP 2018 年 5 月 8 日更新默认设置从“易受攻击”更改为“缓解”的更新。相关的 Microsoft 知识库编号已在 CVE-2018-0886 中列出。默认情况下,安装此更新后,修补的客户端无法与未修补的服务器进行通信。 使用本文中描述的互操作性矩阵和组策略设置来启用“允许的”配置。
具体的内容请自行阅读:https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

解决办法1:修改策略组配置

win+R 打开运行运行,然后输入“gpedit.msc”打开 如下图所示,在左侧窗口依次找到策略路径:“计算机配置”->“管理模板”->“系统”->“凭据分配” 然后右侧窗口设置名称中找到: 加密数据库修正 项目,选择”已启用“,保护级别选”易受攻击“,确定即可解决。

image.png

解决办法2:修改注册表

这里建议先使用上面组策略的方式进行解决,如果解决不了,再使用注册表方式,因为注册表方式没有组策略这种图形化界面的简单方便。

win+R 打开运行菜单,然后输入“regedit” 按Enter键即可打开如下的注册表,按照图示,找到此路径“
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters”

1377250-20180718093113200-592759675.png

然后在右侧窗口双击“AllowEncryptionOracle” 并把值设置成“2” (跟上面组策略设置效果一样)然后确定。如下图所示
1377250-20180718093233576-872877050.png

0表示强制更新的客户端
1表示缓解
2表示易受攻击 (跟上面组策略设置效果一样,有木有)

总结

今天主要是介绍下win10 mstsc远程遇到的坑“这可能是由于CredSSP 加密数据库修正”的两种解决方法。从微软官方更新日志入手,然后引出组策略以及注册表的解决方法。

图文也更容易让新手朋友也能按照步骤进行解决!

最后还是提醒下,新手朋友最好通过组策略的方式进行解决,因为微软也给出了警告: 如果使用注册表编辑器或其他方法修改注册表不当,可能会出现严重问题。

这些问题可能需要您重新安装操作系统。 Microsoft 不能保证可解决这些问题。 请自行承担修改注册表的风险。

部分图文来源:https://blog.csdn.net/qin_yu_2010/article/details/81150741

该日志标签: 微软, , 升级, 朋友, 系统, 来源, 注册, 日志, 模板, 数据库, 内容, 方法, 运行, c, mstsc, 界面, 策略, 管理, 攻击, 加密, 问题, 菜单, 更新, 知识库, win10, , credssp, 解决

视频防盗链技术方案研究与讲解

该日志由 samool 发表于 2020-09-15 18:48:00

作者:谭东

最近刚完成点播视频防盗链的部署,也对视频防盗链技术方案有了研究与了解。在这里给大家分享下技术方案和原理。

一、先说下为什么要防盗链?

这个主要是:

  1. 网站方为了防止自己的点播服务器的资源和流量被盗用;
  2. 保护视频版权;
  3. 防止视频被下载盗用等。

二、防盗链技术方案

一般盗链者可以直接获取播放地址盗用或者破解播放器盗用、录屏盗用、下载盗用、视频链接破解提取原地址等方式进行盗链。

所以我们在防盗链时要综合这些因素考虑,当然不可能面面俱到,但是能够覆盖大部分常见的手段即可。

常见方案有:

  1. 视频加水印;
  2. 视频加DRM版权水印;
  3. 视频加密;
  4. 播放器加解密;
  5. Referer防盗链
  6. URL防盗链
  7. 采用m3u8等盗链难度高的文件格式,也可以防下载;
  8. IP黑白名单限制等。

说了这么多,我们来看看目前主流的视频防盗链技术方案,例如央视网、腾讯、优酷等平台一般都采用Referer防盗链和URL防盗链方式进行防盗链。针对直播视频防盗链或点播视频防下载,我们还可以将视频文件格式变成m3u8格式,这样可以防止视频被下载。

那么接下来我们就简单讲解下Referer防盗链和URL防盗链方案:

(1)Referer防盗链

Referer防盗链比较简单,是基于 HTTP 协议支持的 Referer 机制,通过播放请求 Header 中携带的 Referer 字段识别请求的来源。开发者可以设置一批域名为黑名单或白名单,CDN 节点将按照名单中的域名做鉴权,从而允许或拒绝播放请求。也就是携带了播放来源,如果播放这个视频源的页面地址不对的话,则会拒绝播放。当然Referer是可以伪造的,所以建议结合URL防盗链进行使用。

(2)URL防盗链

URL防盗链是主流防盗链方案,也是安全度比较高一种防盗链方式。当然也有称作是Token校验方式,也有叫做鉴权防盗链,这里统称URL防盗链。

URL防盗链可以设置很多功能,如视频链接过期时间、播放人数控制、视频播放时长控制(如试看5分钟这种功能)等等。而控制鉴权的这部分放在CDN节点中去处理。

URL防盗链,允许开发者将视频的播放控制参数以 QueryString 的形式拼接在视频 URL 中,CDN 节点将检查 URL 中的播放控制参数,并依据参数控制视频的播放。目前,Key 防盗链通过“过期时间参数”、“允许播放的 IP 数量参数”和“试看时间参数”,支持“防盗链有效时间控制”、“防盗链播放人数控制”和“视频播放时长控制”。

  • 防盗链有效时间控制

在视频 URL 中指定过期时间。如果请求的视频 URL 已过期,则视频无法播放。通过这种方式,可以为视频 URL 设置有效时间,防范他人将视频 URL 转移到其他站点后长期使用。

  • 防盗链播放人数控制

在视频 URL 中指定链接最多能供多少人播放。不在同一内网的播放终端,它们的公网 IP 一般是不同的。通过限制一个 URL 允许最多能被多少公网 IP 播放,就能够限制同一个 URL 可以播放的人数,从而可以防范他人将视频 URL 转移到其他站点后,无限制地分发给任意多的人数观看。

  • 视频允许播放时长控制

在视频 URL 中指定试看时长(如仅允许播放视频的前5分钟)。通过这种方式,可以实现对未付费用户的试看功能。

URL防盗链功能简介:

  • 支持在视频 URL 中指定过期时间,他人获取后无法长期使用。
  • 支持在视频 URL 中指定最大允许播放 IP 数,他人获取后不能无限制地分发给更多人观看。
  • 支持在视频 URL 中指定试看时长,实现试看功能。
  • 开发者使用密钥KEY对视频 URL 签名,并在 URL 中带上签名结果。只要用户密钥不泄露,其他用户无法伪造视频 URL。
  • CDN 节点检查视频 URL 中的参数和签名,对视频播放请求进行控制。如果请求检查不通过,则返回403响应码。
  • 支持的文件类型:MP4、TS、M3U8、FLV、AAC、MOV、WMV、AVI、MP3、RMVB、MKV、MPG、3GP、WEBM、M4V、ASF、F4V、WAV、MPEG、VOB、RM、WMA、DAT、M4A、MPD、M4S。

三、具体URL防盗链生成和使用

URL的生成是由我们这边服务器处理的,根据指定规则进行生成防盗链处理后的URL。

URL的生成是由我们这边服务器处理的,根据指定规则进行生成防盗链处理后的URL。
URL的生成是由我们这边服务器处理的,根据指定规则进行生成防盗链处理后的URL。

  • 开发者在视频的地址中均存在视频原始 URL。未开启防盗链时,使用视频原始 URL 即可播放视频。
  • 开启 Key 防盗链后,视频原始 URL 不再能播放,此时需要构造视频的防盗链 URL,CDN解析鉴权通过后返回视频数据。

(1)生成URL

防盗链 URL 的生成规则是在原始 URL 尾部,以 QueryString 的方式加入防盗链参数,形如:

http://example.vod.com/dir1/myVideo.mp4?t=[t]&exper=[exper]&rlimit=[rlimit]&us=[us]&sign=[sign]

这几个参数含义:

  • t(必填):播放地址的过期时间戳,以 Unix 时间的十六进制小写形式表示;过期后该 URL 将不再有效,返回403响应码。考虑到机器之间可能存在时间差,防盗链 URL 的实际过期时间一般比指定的过期时间长5分钟,即额外给出300秒的容差时间;建议过期时间戳不要过短,确保视频有足够时间完整播放。
  • exper(选填/选用):试看时长,单位为秒,以十进制表示,不填或者填0表示不试看(即返回完整视频);试看时长不要超过视频原始时长,否则可能导致播放失败。
  • rlimit(选填/选用):最多允许多少个不同 IP 的终端播放,以十进制表示,不填表示不做限制;当限制 URL 只能被1个人播放时,建议 rlimit 不要严格限制成1(例如可设置为3),因为移动端断网后重连 IP 可能改变。
  • us(选填/选用):链接标识,用于随机化一个防盗链 URL,增强链接的唯一性;建议每次生成防盗链 URL 时,指定一个随机的 us 值。
  • sign(必填):防盗链签名,以32个字符长的十六进制数表示,用于校验防盗链 URL 的合法性;签名校验失败将返回403响应码。

签名计算公式如下:

sign = md5(KEY + t + exper + rlimit + us)

有人可能注意到了,怎么多了一个KEY?这个KEY就是我们的一个密钥,CDN和我们生成URL的服务器都要使用相同的KEY才能进行加密和解密配对,开启 URL 防盗链时填写的密钥。必须由大小写字母(a - Z)或者数字(0 - 9)组成,长度在8 - 20个字符之间。

(2)防盗链URL生成示例:

例如视频原始地址:[https://example.vod.com/dir1/myVideo.mp4](),密钥KEY为:24FEQmTzro4V5u3D5epW,随机字符串us为72d4cd1101,URL 的过期时间是2018年01月31日20:00(Unix 时间为1517400000)即t为1517400000这里就不设置exper和limit了。

计算签名:

sign = md5("24FEQmTzro4V5u3D5epW5a71afc072d4cd1101") = "01ad188259e1f34979c06a10e6d0fb89"

最后我们生成URL防盗链:

http://example.vod.com/dir1/myVideo.mp4?t=5a71afc0&us=72d4cd1101&sign=01ad188259e1f34979c06a10e6d0fb89

我们这边服务器自己按照规则生成防盗链后的URL即可,CDN结点也按照这个规则和KEY来进行鉴权即可,匹配即允许播放,否则不允许访问资源。

好了,大致内容就是这么多,是不是很简单?对视频防盗链有了进一步了解?当然如果你想防止下载的话,建议使用HLS(m3u8)文件格式来进行传输,这样可以避免文件下载,安全性更高,而且HLS(m3u8)也可以对分片文件进行标准化或者自定义加密,安全度会更高。

我们这边服务器自己按照规则生成防盗链后的URL即可,CDN结点也按照这个规则和KEY来进行鉴权即可,匹配即允许播放,否则不允许访问资源。

好了,大致内容就是这么多,是不是很简单?对视频防盗链有了进一步了解?当然如果你想防止下载的话,建议使用HLS(m3u8)文件格式来进行传输,这样可以避免文件下载,安全性更高,而且HLS(m3u8)也可以对分片文件进行标准化或者自定义加密,安全度会更高。
我们这边服务器自己按照规则生成防盗链后的URL即可,CDN结点也按照这个规则和KEY来进行鉴权即可,匹配即允许播放,否则不允许访问资源。

好了,大致内容就是这么多,是不是很简单?对视频防盗链有了进一步了解?当然如果你想防止下载的话,建议使用HLS(m3u8)文件格式来进行传输,这样可以避免文件下载,安全性更高,而且HLS(m3u8)也可以对分片文件进行标准化或者自定义加密,安全度会更高。

该日志标签: 字符, 技术, 腾讯, 移动, 来源, 使用, 视频, 网站, 内容, 央视, 文件, 数字, 播放器, 链接, 防盗链, 规则, url, 直播, 流量, 域名, 加密, KEY, 数据, 时间, 长度, 参数, 播放, 失败, 解密, , 用户, 防盗

如何学习一门新的语言

该日志由 samool 发表于 2020-09-13 17:14:29

首先要说,这并不是一篇教你如何学习的文章,因为到今天为止我也没有找到一种通用的方法来解决如何学习的问题。但是在探索的道路上,我确实产生过一些思路,我想把这些思考的过程分享出来让大家探讨。如果这对你有帮助的话,那我会非常高兴。

我最近在学习 Rust ,这是一门很酷但是相对冷门的语言(学习冷门语言可能是我的一大爱好,比如我就非常喜欢 CoffeeScript ,这是 JavaScript 的一门方言)。自从在某些语言的舒适区待久之后,经常会产生自己无所不能的错觉,这也是我不断想学习新语言的一大动力。

而我的学习过程跟大多数人类似,就是先在网上找文档然后自学。而在看文档的过程中,我就发现了一些问题。

手册的作用

“去看文档喽。”这是老鸟在面对新手时最喜欢扔的一句话,我通常也是这么扔给自己的。但当你打开一门语言的手册,你会发现它除了教你语法外,几乎没有教你什么其它东西。于是你会陷入这样一个境地:

“背下来了么?”
“背不下来,太难懂了。”
“再看一遍,给我背下来。”
。。。
“背下来了么?”
“大部分背下来了。”
“给我写个程序,实现个XX功能。”
“不会。。。”
“。。。”

在一个高级开发者眼里,你会了语法理所当然就应该会写程序了,但实际情况并非如此。这让我想起前段时间跟一个朋友关于目前编程教育市场的一个讨论。我出于自己的经验提出一个想法:让大牛开发者来教新手入门。在我的设想中,大牛开发者拥有强大的实战经验,以及丰富的专业知识,更是自带光环,这不比现在市场上那些半吊子的讲师好多了。在我为自己“伟大”的想法得意的时候,朋友给我浇了一盆冷水。他告诉我这样根本行不通,大牛根本不知道菜鸟需要什么知识,你可能以为基础语法讲清楚就好了,人家却连编辑器是什么都不清楚。设想一下,让一个大学教授去教一群小学生,这对两者来说都是一种灾难吧。

这些语言的创造者,或者文档的作者,无疑都是一些大神。它们在撰写一个语言手册的过程中,只能尽量负责地把这个语言的全貌准确地有组织地展现给你。然而这种全面的展现,对于一个没有任何引导的初学者来说并不完全是一件好事。简单来说就是,你会在一些次要的事情上浪费太多时间,而一些主要的概念又没有理解透彻。

关于看真实代码

当觉得文档满足不了你的时候,老鸟们往往会扔给你第二招:看代码。看什么代码呢?那还用说,当然是被业界奉为经典的,在 GitHub 上至少有一万颗星的知名开源项目代码啦。

当你怀着崇敬的心情,打开扔给你的网址,看着满屏幕的代码时,你会对自己问出那三个经典的哲学问题。这是什么东西?它是怎么做到的?为什么要这么写?搞不好某些人还会因为惊吓过度,从而失去了学习下去的信心。

那么让我们一起来看看这些代码里有什么鬼东西,会吓得新手信心不足。

大段的注释

说一件事你们不要笑,在我还是个萌新的时候,我曾经对这些穿插在代码中的神秘文字产生了深深的困惑,我还以为它们对代码有某种加成作用,以至于我还试验过把注释去掉会对代码执行产生什么影响。而现实中好的代码会让后面的维护者方便很多,但不好的甚至错误的注释会让人迷惑不已。

语法糖

语法糖是个好东西,它大大简化了我们的编程过程,高手用起语法糖写起代码来简直不要太爽,所以越强大的项目这玩意儿越多。但是对于初学者来说,语法糖隐藏了一些细节,而且让语法看起来很怪异。有些代码如果你用标准语法来写是很好懂的,但如果用语法糖来写的话很难让人一下子明白。

初学者为了弄懂这些语法往往要花大量时间,但其实这些时间在这个阶段是没必要的浪费。你看不懂它觉得它是一个很重要的东西,其实它只是一个做工精巧的小玩意儿,离开了它这些代码照样能工作。而随着你的经验丰富,也可以随时随地用起来,用的方法可能也不尽相同。

代码里的重点

对于一个开源项目来说,往往 50% 的代码可能都是在适配各种不同的运行环境,将系统的 API 抽象成项目里通用的接口,这部分代码除非你自己要做类似的项目,要不然的话对初学者来说参考意义不大。更何况,为了适配某些系统奇葩的运行环境,开发者往往会大开脑洞,创造出一些非常奇怪的代码。这些旁门左道充满了玄学和不确定性,初学者看多了可能会发生如武侠小说里练功出差错的结果:走火入魔。

剩下的代码里 20% 是项目内部的接口抽象和定义,最后 30% 才是真正值得看的东西,它们往往散落在各个地方,但又为了一个设计核心服务。让初学者识别出这些代码来,未免太强人所难。

野文档

这是我自己的一个定义,我把一切非官方的开发文档都称为野文档。初学者会在搜索引擎里得到大量的相关文档,他们很多是学习心得,很多人在写这篇文章时水平可能比你也高不了多少。这就造成了这些文档的水平参差不齐,所面向的重点也不同,也许你花了大把时间弄懂的是一个错误的或者过时的知识。而大部分号称教你入门的文章,可能也就是告诉了你如何搭建一个运行环境,这门语言的精髓和重点作者自己估计也没弄明白。

而如果你碰到一篇被奉为经典的好的入门文章,那你真的要好好感谢作者。因为这意味着作者付出了大量的深入思考,深入浅出这四个字说起来简单,做起来可是需要相当的功底的。

相对较好的做法

在这么多语言的学习过程中,我也总结了一些相对比较好的学习方法。我认为看代码是非常有必要的,因为光死记语法是无法掌握好这门语言的。但是去看一些大型项目代码的缺点我在上面也说了,到底该如何是好呢?

我建议大家可以去看官方给出的,专门供初学者学习的 Step-By-Step 代码,这种代码一般在官方的文档页就可以找到链接入口,它有如下好处:

  1. 由浅入深,富有层次。这些代码往往是跟随者文档的深入,慢慢把语法细节展开的。不会一下给你展现太多,让你无法 GET 到重点。每段代码都会有一个重点要表现的特性,这样看起来会一目了然。
  2. 有质量保证。这些代码的撰写一般是官方人员负责,这可以在很大程度上保证准确性。
  3. 更新及时。我们知道很多语言的细节是会随着版本的升级有所改变的,而很多网上的第三方文档往往缺乏维护,但官方文档一般都会同步更新。

我建议大家一边看手册一边看代码,这样印象会更深刻。眼睛看了之后,我认为要尽快找一些好的例子来练手,不需要一上来就搞比较复杂的大型项目,也是由浅入深。这种练手项目去哪里找呢,很多语言的 tutorial 板块就是干这个的,做的比较完善的甚至还提供在线的教学体验环境,大家应该好好利用。

写在最后

这篇讨论学习方法的文章引发了我的一些额外思考。我经常在开发者社区里看到老鸟和初学者互怼,写这篇文章的过程也让我理性思考了产生这些矛盾的原因。总的来说就是一些信息的不对称造成的。老鸟认为这个问题根本不是问题,网上一搜一大把,不愿多讲甚至冷嘲热讽。而初学者却觉得这些信息根本理解不能,老鸟的嘲讽就是一种羞辱。

我认为要打破这种不对称需要双方付出耐心,而这种耐心的付出是相互的,你付出的多回报的就越多。而最先迈出付出这一步的,应该是初学者,毕竟从情理上来说是你请求人家办事。而你需要付出的不过是把自己的问题讲明白,说出你的思考过程,附上必要的信息。一个好学的人是不会让人讨厌的,但前提是你得有一个不让人讨厌的姿态展现出来。

文章来源:https://joyqi.com/develop/how-to-learn-a-programming-language.html

该日志标签: 升级, 朋友, 工作, 心情, 系统, 来源, 经典, 心得, 搜索引擎, 社区, 设计, 开发, 接口, 学习, 方法, 程序, 运行, 在线, 链接, 代码, 编程, 信息, 网址, 灾难, 问题, 时间, 环境, 特性, 细节, 组织, API, 文章, GitHub, 缺点, 时候, 初学者, 语法, 文档, 语言

CentOS7 + 宝塔环境搭建 Gogs 私人Git 仓库

该日志由 samool 发表于 2020-09-01 16:41:00

安装文档 https://gogs.io/docs/installation

我这里的安装环境:

CentOS7 + 宝塔面板 + Nginx + Mysql5.7

git 版本 1.8.3.1

Gogs 版本 0.11.66 @ 2018-09-16

安装包下载地址列表:

官方:

https://gogs.io/docs/installation/install_from_binary.html

github

https://github.com/gogs/gogs/releases

找到 Linux amd64 的下载地址

https://dl.gogs.io/0.11.66/gogs_0.11.66_linux_amd64.zip

安装宝塔面板

**

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

我这里选择的环境是

Mysql5.7 + PHP7.2 + Nginx 1.14.0 + phpmyadmin4.x + Pure-Ftpd 1.0.47

安装Git (已经安装的跳过)

**

yum install -y git

查看Git版本

**

git --version

创建一个git用户组

**

groupadd git

创建一个git用户并添加到git用户组

**

useradd -g git git

修改git用户的密码

**

passwd git

创建好了之后, 切换到Git身份

**

su git

这时候已经是git用户了, 进入git的home目录

**

cd ~

下载gogs安装压缩包, 双引号里的下载地址替换为官方最新版本的下载地址

**

wget -c "https://dl.gogs.io/0.11.66/gogs_0.11.66_linux_amd64.zip" -O gogs.zip

解压安装包

**

unzip gogs.zip

进入gogs目录

**

cd gogs

启动安装程序

**

./gogs web
在宝塔面板->安全-> 添加3000端口, 允许访问

回到桌面, 用浏览器打开安装向导页面, 根据自己情况设置

**

http://192.168.1.101:3000

安装完成后, 回到终端, 退出当前的git用户

**

exit

为gogs添加服务,开机启动

**

# 创建服务配置文件
vim /lib/systemd/system/gogs.service

加入以下内容, 保存退出:

**

[Unit]
Description=Gogs
After=syslog.target
After=network.target
After=mysqld.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

设置开机启动

**

systemctl enable gogs.service

并手动启动服务

**

systemctl start gogs

查看服务状态

**

systemctl status gogs

在宝塔面板上配置域名访问(反向代理)

这个时候就可以通过域名访问了, https证书在宝塔界面配置部署即可, 不用改gogs配置

使用域名访问搭建好的gogs

该日志标签: 代理, 浏览器, 目录, 来源, 服务, 桌面, 内容, 文件, 访问, 密码, 程序, 链接, c, 列表, 安装, 界面, 域名, web, 环境, get, cd, error, 商业, 端口, 宝塔, , 用户, git, gogs, home

JS右键复制添加来源网址的代码

该日志由 samool 发表于 2008-05-22 08:58:56

<script type="text/javascript">
document.body.oncopy = function () {
    setTimeout( function () {
        var text = clipboardData.getData("text");
        if (text) {
            text = text + "\r\n文章来源于《傻猫网络日志》 "+this.location.href;
clipboardData.setData("text", text);
        }
                }, 100 )
}
</script>

该日志标签: 来源, js, 右键, 复制, 网址

设置WebBrowser的Referrer值

该日志由 samool 发表于 2007-07-19 00:09:13

有些网站为防止外站注入,增加了网址的来源检测,一般就是检查浏览器的Referrer值是否为本站,如果Referrer的网址不是本站地址,就认为不是全法进入的。如果在程序中用WebBrowser来实现自动进入某网站的某一页面呢? 这就必须设置WebBrowser的Referrer值,WebBrowser.doc2.Referrer 又是只读属性,是没有办法直接设置URL的,不像idhttp可以直接指定headers或者用Request.Referrer,我们可以用下面方法轻松实现设置WebBrowser的Referrer值。

方法如下:
wb1.Navigate('https://samool.com/');
wb1.Navigate('https://samool.com/1.html');

.com/1.html');

该日志标签: webbrowser, 浏览器, referrer, 来源, seo