首页
关于
Search
1
宝塔面板安装go-fly利用supervisor实现GO语言进程守护
4,454 阅读
2
Linux部署zerotier组建虚拟局域网
3,731 阅读
3
Uni app 页面&组件生命周期
3,616 阅读
4
dotnet tool 自动找到项目里面重复的 NuGet 依赖项
2,810 阅读
5
Win 2012 R2 服务器安装SQL Server 前置条件
2,753 阅读
技术
C# .Net
App
UI 前端
服务器运维
软件
3D打印
组装
模型
登录
Search
标签搜索
Linux
zerotier
暂时
教程
整理
未
console
log
组件
页面
渲染
zzmzaizai
累计撰写
7
篇文章
累计收到
0
条评论
首页
栏目
技术
C# .Net
App
UI 前端
服务器运维
软件
3D打印
组装
模型
页面
关于
搜索到
7
篇与
技术
的结果
2022-02-22
Linux部署zerotier组建虚拟局域网
在电信业围墙高筑的时代,我们想用手机访问摄像头,网络存储等设备也是着实不易,外网IP申请不到,端口封闭等等。如果不想这么麻烦,其实可以试试zerotier这个工具。工具很小,原理其实也很简单,通过虚拟网卡威屁恩,将多台电脑集合到同一个虚拟的局域网中。网上搜的信息说这个软件创建的局域网延迟很大,会连到国外中转等等。我想说的是,这是远古时期的事情了。我用了几年,大多数时候都是直连,除非网络环境很恶劣且不稳定的时候才会有这种情况。99%的时候,软件都是直连,网速取决于两台通讯电脑带宽上限,当然了,肯定是带宽小的那个人。win10和手机我就不多说了,下个软件装一下,填入网络Network ID,后台允许下就行了。这里我需要linux安装,并将公网的linux作为转发服务器来替代内网穿透。这个我会在下一章节[使用zerotier实现内网穿透作为服务器]中详细的来讲。这一章主要描述如何安装及使用。常用命令在线安装zerotiercurl -s https://install.zerotier.com | sudo bash查看安装zerotier版本sudo zerotier-cli status加入一个netWorksudo zerotier-cli join ################(networkid)查看加入的网络的信息,比如networksudo zerotier-cli listnetworks退出加入的network网段sudo zerotier-cli leave ################(networkid)启动、停止服务(mac下,linux尝试发现没有launchctl command)停止 sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist 启动 sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist卸载服务(未尝试)sudo "/Library/Application Support/ZeroTier/One/uninstall.sh"
2022年02月22日
3,731 阅读
0 评论
0 点赞
2022-02-22
Linux 服务器 安装.Net 5 的运行时
c#开发搞了这么多年,安装运行时的几行命令总是记不住,每次都百毒查,结果一堆子垃圾网站。好在命令不是多难,今天整理记录一下,方便下次查找。CentOS 7 & 8sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum -y install dotnet-sdk-5.0dotnet --info这几行代码很简单,简要描述如下:安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。(CentOS 8 不需要此行)安装.net5.0,这里也可以安装.net6查看安装好的运行时版本Ubuntu 21.04wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.debsudo dpkg -i packages-microsoft-prod.debrm packages-microsoft-prod.debsudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-5.0Debian 10其实安装方法和ubuntu基本雷同wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-5.0如果只跑网站,觉得安装SDK大了不需要,也可以只安装运行时。将安装命令中的 dotnet-sdk-5.0 替换成 aspnetcore-runtime-5.0
2022年02月22日
1,307 阅读
0 评论
1 点赞
2022-02-22
宝塔面板安装go-fly利用supervisor实现GO语言进程守护
最近做个项目,需要一个在线客服系统,发现go语言写的 "go-fly" 比较好用。地址:https://github.com/taoshihan1991/go-fly这个软件部署起来不难,但是碰到个问题,项目运行一段时间,进程就会挂,自带的进程守护不起作用。这时候我想到我服务器用的宝塔,带有supervisor管理器,还是带图形界面的,之前用过很多次,但是go语言还没有添加过。经过多方尝试,终于知道go如何在supervisor中设置进程守护这里我详细描述整个部署过程:首先在宝塔中创建一个静态站点 a.test.com将编译好的程序放入站点目录,也可以去下现成的。修改数据库配置文件/wwwroot/a.test.com/config/mysql.json在后台文件管理切换到该目录,终端命令中输入安装命令./go-fly-64 install 由于官方命令中不带 -64或者-32导致找不到文件,需要自己变通下。添加supervisor进程守护 操作到这里,客服站点其实就可以使用了,默认端口号为8081http://0.0.0.1:8081这里,我们还需要设置站点的反向代理 设置好反向代理后,我们还需要添加反向代理的配置,否则WS服务无法正常启动#PROXY-START/ location / { proxy_pass http://127.0.0.1:8081; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Origin ""; add_header X-Cache $upstream_cache_status; #Set Nginx Cache add_header Cache-Control no-cache; expires 12h; } #PROXY-END/
2022年02月22日
4,454 阅读
0 评论
0 点赞
2022-02-22
dotnet tool 自动找到项目里面重复的 NuGet 依赖项
使用新的 SDK 风格的 csproj 的时候,允许 NuGet 包进行依赖传递。意思是如果我 A 项目安装了库 L 那么如果有 B 项目引用 A 项目,那么自动 B 项目也就安装了库 L 而不需要项目 B 再次手动安装。也就是如果此时的 B 项目里面也加上了 L 库的安装,那么这个安装就是多余的。本文安利大家一个工具,可以自动了解有哪些项目的哪些库是多余安装的,通过依赖传递就能安装上,不需要手动安装,可以删除这是一个 dotnet tool 工具,在使用之前需要使用如下命令进行安装dotnet tool install -g snitch在自己的项目分析有哪些项目的哪些库是可以删除的,可以通过如下命令分析snitch Foo.sln请将 Foo.sln 替换为你自己的项目文件通过此工具分析之后,就可以了解具体项目上有哪些库可以删除,运行的输出如下snitch Foo.slnProcessing Foo.sln... -> Analyzing dotnetCampus.Foo.Core (net45) -> Analyzing dotnetCampus.Foo.Converters (net45) -> Analyzing Foo.Tests (netcoreapp3.1)The following packages can be removed from dotnetCampus.Foo.ConvertersdotnetCampus.Core (ref by dotnetCampus.Foo.Core)DocumentFormat.OpenXml (ref by dotnetCampus.Foo.Core)The following packages can be removed from Foo.TestsdotnetCampus.Core (ref by dotnetCampus.Foo.Core)dotnetCampus.Storage (ref by dotnetCampus.Foo.Core)DocumentFormat.OpenXml (ref by dotnetCampus.Foo.Core)此时就可以看到项目上有哪些库可以删除,同时这些库被哪些项目依赖在删除掉多余的库之后,就能减少 NuGet 的版本的冲突,也让 csproj 的内容更少,在修改 csproj 的时候的冲突也会更少此工具在 GitHub 完全开源,请看 spectresystems/snitch: A tool that help you find duplicate transitive package references.
2022年02月22日
2,810 阅读
0 评论
0 点赞
2022-02-22
GIT 日常使用小技巧
开发者不管使用是什么语言,不可避免必须接触到GIT进行源代码的版本管理。现在流行的开源网站很多比如 github,gitee这些,还可以自己搭建如 gitlab等等。不可避免需要各种命令,我收集和整理了一部分常用的,希望共享给各位看客。安装GIT软件软件首页 下载地址 v2.16.1 这里比较简单,安装时都默认一路下一步即可通用命令指令全局设置git config --global user.name "你的姓名"git config -- global user.email "你的邮箱"创建本地新的存储库git initgit remote add origin http://git.dnngo.net/***.gitgit clone http://git.dnngo.net/***.git替换本地已经有的存储库git remote rename origin old-origingit remote add origin http://git.dnngo.net/***.gitgit push -u origin --allgit push -u origin --tags提交你的项目到GITgit initgit remote add origin http://git.dnngo.net/***.gitgit pull origin mastergit add .git commit -m "第一次提交"git push origin master当你第一次提交项目时,还应该修改 \.git\config 文件,在末尾加上[branch "master"] remote = origin merge = refs/heads/master如果需要GIT回滚到特定版本,可如下操作:先回滚,再强制提交git reset --hard 297ff2dcf20605297684f296a4b4ccaa1cf4dc48git push -f origin masterGITLAB 备份如果你需要备份整个GIT,你需要执行以下命令gitlab-rake gitlab:backup:create备份会创建在 /var/opt/gitlab/backups 这个目录GITLAB 恢复进入备份的目录cd /var/opt/gitlab/backups/停止连接数据库的服务gitlab-ctl stop unicorngitlab-ctl stop sidekiq查看gitlab版本# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 12.3.5修改权限chmod 777 1555011412_2019_04_12_11.1.4_gitlab_backup.tar恢复gitlab-rake gitlab:backup:restore BACKUP=1555011412_2019_04_12_11.1.4启动gitlab-ctl start检查是否可用gitlab-rake gitlab:check SANITIZE=true
2022年02月22日
1,276 阅读
0 评论
1 点赞
2022-02-22
Uni app 页面&组件生命周期
不论是app还是小程序,生命周期是非常重要的知识点。页面的生命周期uni-app 支持如下生命周期函数:onLoad 监听页面加载,其参数为上个页面传递的数据,参数类型为object(用于页面传参)onShow 监听页面显示onReady 监听页面初次渲染完成onHide 监听页面隐藏onUnload 监听页面卸载onPullDownRefresh 监听用户下拉动作onReachBottom 页面上拉触底事件的处理函数onShareAppMessage 用户点击右上角分享 微信小程序onPageScroll 监听页面滚动onTabItemTap 当前是 tab 页时,点击 tab 时触发。例子: export default { data() { return { title: 'Hello' } }, onLoad() { console.log('页面加载') }, onShow() { console.log('页面显示') }, onReady(){ console.log('页面初次显示') }, onHide() { console.log('页面隐藏') }, onUnload() { console.log('页面卸载') }, onBackPress(){ console.log('页面返回...') }, onShareAppMessage() { console.log('分享!') }, onReachBottom() { console.log('下拉加载...') }, onPageScroll(){ console.log('页面滚动...') }, onPullDownRefresh() { console.log('上拉刷新...') uni.stopPullDownRefresh(); }, // #ifdef APP-PLUS onNavigationBarButtonTap(){ }, // #endif methods: { tap(){ console.log('tap点击!'); } } } 组件的生命周期beforeCreate 组件初始化,但数据原生观测、自定义观测(eventwatcher)没生成之前。未完全创建阶段created 组件创建后,但还未挂载完全创建阶段beforeMount 组件渲染后,挂载前。渲染后待挂载mounted 组件挂载到页面 可用 vm.$el 访问挂载OKbeforeUpdate 虚拟 DOM 重新渲染和打补丁之前再次渲染前updated 组件 DOM 已经更新再次渲染后activated keep-alive 组件激活时调用。当前组件被激活:显示deactivated keep-alive 组件停用时调用。当前组件隐藏beforeDestroy 实例销毁之前调用。实例仍然完全可用。销毁前destroy Vue 实例销毁后调用补充:挂载阶段,先渲染组件,然后挂载组件。例子: export default { data() { return { title: 'Hello' } }, props:{}, beforeCreate() { console.log('组件初始化,未完全创建阶段') }, created() { console.log('组件创建后,但还未挂载') }, beforeMount(){ console.log('渲染后待挂载') }, mounted() { console.log('组件挂载到页面OK,可用 vm.$el 访问') }, beforeUpdate() { console.log('再次渲染前') }, updated(){ console.log('再次渲染后') }, activated() { console.log('当前组件被激活:显示') }, deactivated() { console.log('当前组件隐藏') }, beforeDestroy(){ console.log('销毁前') }, destroy() { console.log('销毁后') }, methods: { tap(){ console.log('tap点击!'); } } }
2022年02月22日
3,616 阅读
0 评论
0 点赞
2022-02-22
Win 2012 R2 服务器安装SQL Server 前置条件
目的由于我经常在虚拟机或者云主机中安装服务器系统,但这些主机性能都不太强,一般来说装 win2016/win2019之类的比较吃力,一般来说我就选择了 Win 2012 R2。这家伙内存占用和兼容性都能满足我的要求。问题每次在Win 2012 R2上安装SQL Server 较高版本时,有一个兼容性问题挺恼火的,服务器会报一个 KB2919355 未安装的错误,而安装 KB2919355 ,则又需要安装 KB2919442。 解决虽然过程有些繁琐有些纠结,我们还是要做,跟着我的脚步,一起来解决这个问题把。首先需要下载并安装 KB2919442 补丁 https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=42153再下载并安装 KB2919355补丁https://www.microsoft.com/zh-CN/download/details.aspx?id=42334这里安装KB2919355有点繁琐,需要按照一定的顺序,另外补丁有7-8百兆的样子。安装顺序如下:clearcompressionflag.exe、KB2919355、KB2932046、KB2959977、KB2937592、KB2938439、KB2934018做完这些,你就可以再次安装SQL Server了。小编测试在Windows Server 2012 R2安装 Sql Server 2016 / Sql Server 2017 均会遇见此问题。其他版本暂时没有测试,如果你在安装更新版本遇到此问题,也可以留言告诉我加上去。
2022年02月22日
2,753 阅读
0 评论
0 点赞