.netcore部署linux、国产化环境
前言:
本文基于centos7.9操作系统,服务器x86/x64,所有操作在虚拟机中操作,记录部署过程中出现的问题,在此记录解决方案。
查看系统版本命令:
cat/etc/redhat-release
cat/proc/version
uname-m
df-Th
fdisk-l

其他系统可能略有不同,参照博客https://www.cnblogs.com/zwbsoft/
注意:本文所有yum方式为在线安装,并且使用yum install -downloadonly命令下载离线包,确保无网络进行安装
yum install -downloadonly-downloaddir=/tmp<package-name>
需要安装项目如下
donet环境,NGINX服务,core项目前后台,solr服务,solr推送,报表打印,统计功能,转换PDF,MongoDB数据库,mysql数据库。
1.安装操作系统
如果客户机没有安装系统,需自行下载镜像制作U盘,在此不再赘述
然后再系统中用U盘启动进行安装
注意事项1:安装时一定要先设置网卡,否则不会自动安装。

注意事项2:如果想直接在服务器上操作图形界面,安装时选择图形选项

2.远程环境
2.1 xshell
正常情况下,默认可以直接使用22端口进行ssh连接

2.2 vnc-viewer
如果centos系统是最小化安装,需先安装gnome desktop,否则略过此步骤。
安装命令:yun groupinstall -y GNOME Desktop
安装完成启动图形化界面 :systemctl set-default graphical.target
执行以下命令安装vnc服务
yum install tigervnc -y

通过命令:rpm -ga|grep tigervnc-server验证是否安装成功
安装完成后输入命令vncserver,第一次启动需要输入密码,按操作提示即可,密码设置后会出现如下信息,如图

从图中看出桌面号为1
启动vnc-viewer新建一个连接,输入ip地址:桌面号

添加完成后,双击添加的桌面,输入之前的密码,完成登录



如果连接超时,请关闭防火墙或开放端口
防火墙关闭命令:systemctl stop firewalld service
禁止防火墙关机自启动:systemctl disable firewalld service
添加防火墙例外:firewall-cmd --zone=public -add-port=5901/tcp -permanent
重启防火墙:firewall-cmd --reload
查看例外端口:firewall-cmd --list-port
3.环境部署
3.1 文件传输
通过xshell连接后,cd进入保存文件的文件夹,使用rz命令进行上传。

3.2 安装dotnetcoresdk
3.2.1 首先将压缩包上传到服务器

3.2.2 解压缩
mkdir -p/app/dotnet/netcore3.1
tar zxf dotnet-sdk-3.1.404-linux-x64-tar.gz -C app/dotnet/dotnet3.1
3.2.3 创建软连接
sudo ln -s /app//dotnet/dotnet3.1/dotnet /usr/local/bin
3.2.4 测试安装结果
dotnet --version

默认情况Centos 7中无Nginx 的源,可以如下执行命令添加源:
确认添加成功:
3.3.2 配置nginx
使用命令修改配置文件
vim/etc/nginx/conf.d/conf.d/default.conf
在下图高亮部分设置端口号,服务ip地址,及前端项目路径及日志路径

将下图高亮部分修改为:
location/{
root / usr/share/nginx/html;
try files Suri Suri /@ router;
}
location @ router{
rewrite ^ .*$/ index.html last :
}

设置完成后重启服务 systemctl restartnginx.service
查看服务状态 systemctl status nginx.service

设置开机启动
systemctl enable nginx.service
3.4 安装配置mysql
3.4.1 检查是否存在Mariadb
卸载Mariadb
rpm -e --nodeps mariadb-libs
在最后添加一行:
同时修改datadir为指定路径

groupadd mysgl .
启动mysql并配置开机自启
systemctl start mysqld
systemctl enable mysgld .
如果遇到初始化失败,一般为selinux 的问题,执行命令手动关闭:
查看密码并重置
查看密码:grep 'temporary password' var/log/mysqlId.log

使用密码登录

修改密码校验规则与密码长度:
mysql >set global validate password.policy =0
mysql >set global validate password.length =1

修改允许远程连接:
mysql>update mysql user set host =%'where user ="root";
mysql >flush privileges ;
使用第三方工具进行登录

登录成功后新建数据库

初始化脚本:


3.5 安装配置MongoDB
3.5.1 安装MongoDB
把压缩包考入

解压压缩包:
cd / app/mongodb/bin/
在mongodb 控制台新建数据库:
第三方软件看到效果

注:如客户要求建立mongodb 账户,并且使用账户登录数据库,请自行百度教程。
3.6安装配置solr
将baseurl 和baseurlLocal 指向后端程序的P和端口
4.2后端服务部署配置
将文件放入需要部署的文件夹下并解压,修改配置文件appsettings.ison

主要修改内容为:数据库类型、数据库连接地址、数据库名、之前设置的账号密码、solr的ip地址Mongodb 不需要在此处设置,直接读取数据库内配置
4.3solr推送服务部署配置
主要修改内容为:数据库类型、数据库连接地址、数据库名、之前设置的账号密码、solr的iP地址。Mongodb 不需要在此处设置,直接读取数据库内配置。
配置完成后在项目文件夹下使用如下命令开启服务:dotnet ConsoleApp1
注1:在执行OCR识别时可能会提示缺少> libdl..so,使用whereis命令查询一下系统的此文件,路径,使用mv命令把文件拷贝到solr推送程序的runtimes // linux-64/native 下可以解决问题
注2:在执行OCR识别时可能会提示找不到liblept 1760.so和libtesseract 400.so文件,这是因为Linux 发行版本不同,需要单独编译的文件,将文件拷贝到solr推送程序的X64文件夹下可以解决问题。
注3:建议图形界面登录系统后开启一个终端窗口执行此命令,xshell 执行关闭连接后会关闭,此时需要使用nohup 启动进程nohup dotnet ConsoleApp 1.dll>/dev/null2>log&,具体详情请百度。
4性能监控服务部署配置
将文件放入需要部署的文件夹下并解压,修改配置文件appsettings.json

主要修改内容为:数据库类型、数据库连接地址、数据库名、之前设置的账号密码
配置完成后在项目文件夹下使用如下命令开启服务:dotnet PerformanceAPI.dll
注:图形界面登录系统后开启一个终端窗口执行此命令,xshell 执行关闭连接后会关闭,此时需要使用nohup 启动进程nohup dotnet ConsoleApp 1.dll>/dev/null2>log&,具体详情请百度。
主要修改内容为:数据库类型、数据库连接地址、数据库名、之前设置的账号密码
配置完成后在项目文件夹下使用如下命令开启服务:dotnet WebDesigner MVC'(Core')'.dll --urls http://*58721
注:图形界面登录系统后开启一个终端窗口执行此命令,xshell 执行关闭连接后会关闭,此时需要使用nohup 启动进程nohup dotnet WebDesigner MVC'(Core')'.dll --urls http://*58721>/dev/null2>log&,具体详情请百度。
.netcore部署linux、国产化环境的更多相关文章
- .netcore部署Linux并结合Nginx反向代理 get started
一..NetCore网站准备与发布 首先准备好一个ASP.NET Core Web应用程序,我这里就使用新建的示例站点作为demo演示,使用dotnet publish 命令发布网站. 或者使用VS的 ...
- oneinstack一键部署linux生产环境那点事(ubuntu)
http://oneinstack.com/install/ (1)将oneinstack-full.tar.gz最新版安装文件上传至/usr/local/下 (2)解压tar xzvf oneins ...
- 【netcore基础】CentOS 7.6.1810 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
之前写过一篇Ubuntu的环境搭建博客,感觉一些配置大同小异,这里重点记录下 nginx 作为静态 angular 项目文件服务器的配置 参考链接 [netcore基础]ubuntu 16.04 搭建 ...
- 【netcore基础】ubuntu 16.04 搭建.net core 2.1 linux 运行环境 nginx反向代理 supervisor配置自启动
今天来整理下 netcore 在 linux(ubuntu) 上的运行环境搭建 对应版本 ubuntu 16.04 .net core 2.1 nginx version: nginx/1.10.3 ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (一) 安装dotnet core
背景 根据我之前写的文章 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目,我们将公司内部最核心的ORM框架迁移到net core 上面,并在win ...
- 从零开始,将ASP.NET Core部署到Linux生产环境
研究.NET Core已经一段时间了,一直都是在Windows上开发,这2天尝试着将公司一个很简单的内部Web项目改造成了ASP.NET Core,并且部署到Linux上.生产环境如下: Linux ...
- 记录Linux CentOS 7系统完整部署Docker容器环境教程
笔者之前有在"详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程"文章中有介绍到利用Ubuntu系统安装Docker容器环境的过程.如果我们有使用CentOS ...
- [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的.另外我本身的网站是zip打包的,所以linux也要安装了gcc.jdk. ...
- Linux:Ubuntu下部署Web运行环境
Linux:Ubuntu下部署Web运行环境 本次博客将会从三部分内容详述Ubuntu系统下Web运行环境的配置: 依次是:FTP服务器的搭建.MYSQL数据库的搭建.JDK的安装等. 参考文章如下: ...
- 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境
<Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...
随机推荐
- 【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI
前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求.那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原 ...
- 《STL源码剖析》traits技法分析
在完成一个迭代器的时候,我们可能会暴露太多的细节在外面,为了将这些细节给隐藏,我们需要封装,这也是为什么每一种STL容器都提供了一种专属的迭代器. 为了解决以"迭代器所指对象的型别" ...
- 洛谷P8567 真·基础数论问题
基础数论重定向 今天蒟蒻切水题切到一道建议评黄的红题,一下子给我整不会了-- 题目传送门 理解题意 首先,我们要理解题意. [JRKSJ R6] Nothing 我们定义 \(f(x)\) 表示 \( ...
- angular Ionic CLI项目开始
- effective-c 条款2理解与思考
尽量使用const,enum,inline替换 #define 因为,#define 替换发生在预处理阶段,编译器对这个替换内容就缺少了类型检测,并且不利于错误信息的查看 编译器再声明数组时必须知道数 ...
- 千姿百态,瞬息万变,Win11系统NeoVim打造全能/全栈编辑器(前端/Css/Js/Vue/Golang/Ruby/ChatGpt)
我曾经多次向人推荐Vim,其热情程度有些类似现在卖保险的,有的时候,人们会因为一些弥足珍贵的美好暗暗渴望一个巨大的负面,比如因为想重温手动挡的快乐而渴望买下一辆二十万公里的老爷车,比如因为所谓完美的音 ...
- 论文翻译:2020:ECAPA-TDNN: Emphasized Channel Attention, Propagation and Aggregation in TDNN Based Speaker Verification
论文地址:ECAPA-TDNN:在基于TDNN的说话人验证中强调通道注意.传播和聚集 论文代码:https://github.com/TaoRuijie/ECAPA-TDNN 引用格式:Desplan ...
- 移动 WEB 开发布局方式 ---- rem 适配布局
一.rem 基础 1. rem 单位 em : 相对于父元素的字体大小来说的 <div> <p></p> </div> div { font-size: ...
- vue学习笔记(一) ---- vue指令(过滤器)
一.什么是过滤器 官方文档:https://cn.vuejs.org/v2/guide/filters.html 二.过滤器的使用 没有使用过滤器之前: <div id="app&qu ...
- 学习Java Day6
今天学习了Java的输出,与C/C++不同,Java的输出形式有很多,有许多printf标识符表示的含义各不相同,而且数量众多,其中Java还有表示日期的转换符.