.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服务 配置 ...
随机推荐
- 经典 backbone 总结
目录 目录 VGG ResNet Inceptionv3 Resnetv2 ResNeXt Darknet53 DenseNet CSPNet VoVNet 一些结论 参考资料 VGG VGG网络结构 ...
- 升级csproj文件为vs2017工程格式(SDK样式)
csproj文件在VS2017后格式变更为SDK样式.framework项目如果需要源链接等等功能,需要进行手动升级. 升级过程 升级需要Project2015To2017Nuget包. > d ...
- 初探富文本之OT协同算法
初探富文本之OT协同算法 OT的英文全称是Operational Transformation,是一种处理协同编辑的算法.当前OT算法用的比较多的地方就是富文本编辑器领域了,常用于作为实现文档协同的底 ...
- [C++]C++11:Function与Bind
std::function 它是函数.函数对象.函数指针.和成员函数的包装器,可以容纳任何类型的函数对象,函数指针,引用函数,成员函数的指针. 以统一的方式处理函数.函数对象.函数指针.和成员函数. ...
- 使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决
使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决 摘要:我昨天花了一天时间学习了SSM项目搭建,却在最终的编码问题上拉胯了,在使用Spring MVC框架进行前 ...
- P1005 [NOIP2007 提高组] 矩阵取数游戏
题目传送门 前言 今天依旧是不写高精的一天呢!(是的,这位作者又只拿了开 \(LL\) 的 \(\color{yellow}{60}\) 分) 思路描述 看到数据 \(n,m \le 80(30)\) ...
- SwiftUI(二)
也许很多人看完一会有一个疑问,为什么UIHostingController我这里报错呢 看到这里大家心中的疑问也就解开了 接下来给大家说下@State的作用 通过@State swiftUI实 ...
- 玩转web3第一篇——web3-react
概况 web3-react是由Noah Zinsmeister开发的一个web3框架,主要功能是实时获取DApp里的关键数据(如用户当前连接的地址.网络.余额等). Noah也是著名的去中心化交易所u ...
- 写出单个字符到文件-flush方法和close方法的区别
写出单个字符到文件 flush方法和close方法的区别 因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中.但是关闭的流对象,是无法继续写出数据的.如果我们既想写出数据,又想继续使用流,就 ...
- 使用 NineData 实现备份集的实时查询
使用 NineData 实现备份集的实时查询 背景信息 数据作为一家公司的重要资产,其重要程度不言而喻.数据库为数据提供存取服务,担任着重要的角色,如果因数据误删.服务器故障.病毒入侵等原因导致数据丢 ...