布墨 发布的文章

.NetCore 资料分享


.NetCore3.0 你还不打算入手么?

这次主要是推荐一些自己学习中遇到的一些好的资料和自己的看法( 我推荐的都是我看过的

Asp.Net Core
不做介绍了,直接分享资料了

资料:

  .NetCore很基础的入门教程

    1. https://www.twle.cn/l/yufei/aspnetcore/dotnet-aspnet-index.html

    2. https://windsting.github.io/little-aspnetcore-book/book/

  Asp.net Core微软官方:https://docs.microsoft.com/zh-cn/aspnet/core/

Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

其实呢 就是一个你把你的项目生成了一个Docker的镜像 直接在docker上跑这个镜像就行了

资料:https://www.missshi.cn/api/view/blog/5a6327450a745f6335000001

IdentityServer4
Identity Server 4(以下简称ID4)是一个基于oauth2和OpenID的身份认证组件,基于这个组件可以快速开发自己的身份认证网站,支持单点登录,快速完成工业级的身份认证系统。ID4也是dotnetcore推荐的身份认证组件。

ID4呢 就是一个 继承了授权验证的一套系统吧

资料

  官方:https://identityserver4.readthedocs.io/en/release/

  官方中文版:https://github.com/raochunjiang/IdentityServer4.Docs.zh-Hans

  AspNetCore微软:https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/community?view=aspnetcore-2.1

  Github开源项目后台+授权验证:https://github.com/skoruba/IdentityServer4.Admin

  博客园上全都是一些Demo Test 导致你根本没办法上线上 建议可以参考一下 Github开源项目后台+授权验证 这个开源项目来学习

微服务
  别人的我没看过 也没什么推荐的,当时看杨中科老师的微服务 写了一个系统的学习记录吧算是 你们可以参考一下 地址

  学习微服务 你要是喜欢技术呢, 建议 你把微服务建构都有什么,都是干什么的 学习一下 而不是一开始就随便找了一套框架就来用 这样对于自己技术层面没任何突破(而且出什么问题了 你根本不知道是哪里出的问题

  等你把微服务的一系列东西都搞清楚了,如果出问题 你自然知道哪里有问题

Linux
  对于Linux呢 我没有系统学过,就是需要用到什么命令 不会就去百度... 所以没什么推荐的 不过Linux是必须要学会的

之后我发现什么好的资料的话,我会持续来更新 ,大家有什么好的资料 可以留个言 我来做记录,大家有什么不懂的需要交流的也可以加Q群来交流:717446002
在现在的环境,只能希望.netcore越来越好把


Gitlab Centos7 搭建


搭建地址:https://www.cnblogs.com/wenwei-blog/p/5861450.html
Lnmp配合Gitlab域名访问:https://blog.csdn.net/peterxiaoq/article/details/73330302

我这里使用的是centos 7 64bit,我试过centos 6也是可以的!

  1. 安装依赖软件
  2. -y install policycoreutils openssh-server openssh-clients postfix

2.设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix
3.下载gitlab安装包,然后安装
centos 6系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
centos 7系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
我的是centos7,所以我在https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7中找了个gitlab8.0.0版本,建议下载一个比较新的版本,我这里选了一个比较旧的版本仅仅是实验
下载rpm包并安装:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
4.修改gitlab配置文件指定服务器ip和自定义端口:
vim /etc/gitlab/gitlab.rb
请输入图片描述

退出并保存

ps:注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口

5.重置并启动GitLab

执行:

gitlab-ctl reconfigure

gitlab-ctl restart

复制代码

ok: run: gitlab-git-http-server: (pid 3922) 1s
ok: run: logrotate: (pid 3929) 0s
ok: run: nginx: (pid 3936) 1s
ok: run: postgresql: (pid 3941) 0s
ok: run: redis: (pid 3950) 0s
ok: run: sidekiq: (pid 3955) 0s
ok: run: unicorn: (pid 3961) 1s

复制代码

提示“ok: run:”表示启动成功

6.访问 GitLab页面

如果没有域名,直接输入服务器ip和指定端口进行访问

初始账户: root 密码: 5iveL!fe

第一次登录修改密码
请输入图片描述

6.设置gitlab发信功能,需要注意一点:

发信系统用的默认的postfix,smtp是默认开启的,两个都启用了,两个都不会工作。

我这里设置关闭smtp,开启postfix

关闭smtp方法:vim /etc/gitlab/gitlab.rb

找到#gitlab_rails['smtp_enable'] = true 改为 gitlab_rails['smtp_enable'] = false

修改后执行gitlab-ctl reconfigure

另一种是关闭postfix,设置开启smtp,相关教程请参考官网https://doc.gitlab.cc/omnibus/settings/smtp.html

测试是否可以邮件通知:

登录并添加一个用户,我这里使用qq邮箱添加一个用户

登录qq邮箱,可以收到邮件通知(如果收不到,请查看垃圾邮箱或者检查邮件是否被拦截并删除,如果有请添加到白名单并删除用户再重新添加用户就可以收到了,否则请检查邮件日志并做好相关设置)
请输入图片描述

gitlab 安装自带 nginx,如果想利用原有 nginx,可按如下操作:

8.0 版本 socket 文件位置有变动,感谢评论区的同学。

nginx 增加虚拟主机配置

gitlab socket 文件地址

upstream gitlab {
# 7.x 版本在此位置
# server unix:/var/opt/gitlab/gitlab-rails/tmp/sockets/gitlab.socket;
# 8.0 位置
server unix://var/opt/gitlab/gitlab-rails/sockets/gitlab.socket;
}

server {
listen *:80;

server_name gitlab.liaohuqiu.com; # 请修改为你的域名

server_tokens off; # don't show the version number, a security best practice
root /opt/gitlab/embedded/service/gitlab-rails/public;

# Increase this if you want to upload large attachments
# Or if you want to accept large git objects over http
client_max_body_size 250m;

# individual nginx logs for this gitlab vhost
access_log /var/log/gitlab/nginx/gitlab_access.log;
error_log /var/log/gitlab/nginx/gitlab_error.log;

location / {

# serve static files from defined root folder;.
# @gitlab is a named location for the upstream fallback, see below
try_files $uri $uri/index.html $uri.html @gitlab;

}

# if a file, which is not found in the root folder is requested,
# then the proxy pass the request to the upsteam (gitlab unicorn)
location @gitlab {

# If you use https make sure you disable gzip compression 
# to be safe against BREACH attack

proxy_read_timeout 300; # Some requests take more than 30 seconds.
proxy_connect_timeout 300; # Some requests take more than 30 seconds.
proxy_redirect     off;

proxy_set_header   X-Forwarded-Proto $scheme;
proxy_set_header   Host              $http_host;
proxy_set_header   X-Real-IP         $remote_addr;
proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
proxy_set_header   X-Frame-Options   SAMEORIGIN;

proxy_pass http://gitlab;

}

# Enable gzip compression as per rails guide: http://guides.rubyonrails.org/asset_pipeline.html#gzip-compression
# WARNING: If you are using relative urls do remove the block below
# See config/application.rb under "Relative url support" for the list of
# other files that need to be changed for relative url support
location ~ ^/(assets)/ {

root /opt/gitlab/embedded/service/gitlab-rails/public;
# gzip_static on; # to serve pre-gzipped version
expires max;
add_header Cache-Control public;

}

error_page 502 /502.html;
}
禁用自带 nginx

vim /etc/gitlab/gitlab.rb
加入

nginx['enable'] = false
重启 nginx, 重启gitlab

sudo /usr/local/nginx/sbin/nginx -s reload
sudo gitlab-ctl reconfigure
权限配置

访问会报502。原本是 nginx 用户无法访问gitlab用户的 socket 文件,用户权限配置,因人而异。粗暴地:

sudo chmod -R o+x /var/opt/gitlab/gitlab-rails