Linux系统初探过程总结
Linux系统初探的过程大约用了一周的时间,这周基本将Linux系统安装,PostgreSQL安装,Nginx服务器安装,ASP.NET Core应用部署都走了一遍。由于以前没有怎么接触和使用过Linux平台上的东西,因此在这一周也可以说是踩坑无数。准备将这几天遇到的问题总结一下,以备后查。
- Linux系统安装过程中遇到的问题
- GUI界面:Linux系统版本选择了CentOS,从CentOS官网下载了Dvd版本的镜像文件,因为也不了解CentOS文件”全包“与”最小包“区别,就下载了”全包“。大约有4G多,在安装时使用了默认安装,安装完成后发现是带GUI管理界面的,一开始还以为自己是不是下得Desktop的版本,后来又去官网详细了看了一下说明。CentOS全包的默认安装就是带GUI管理界面的,心想不愧是面向企业级的版本,这么贴心。用了一天,感觉和Windows Server在操作方式上比较相似。但感觉如果继续使用GUI就无法学习Linux系统命令了,因此又使用最小包重装了系统。
- CentOS最小包:使用最小包重新安装后发现这个最小安装,内容还是真少。基本什么都没有,常用的功能包都需要安装,像”vim“,”lsof“,”wget“,“xorg-x11-xanth”等都得现装。
- PostgreSQL安装过程中遇到的问题
PostgresSQL的安装还是比较简单的,只要按照PostgreSQL官网上提供的安装命令及步骤执行后就可以顺利的完成安装过程。 - ASP.Net Core应用部署遇到的问题。
- Apache服务器
因为CentOS7系统是稳定为主,因此其软件库不提供软件最新版本。默认软件源中通常都是最稳定的版本,但是在部署Apache的反向代理服务器时就遇到了一些问题。CentOS7上通过yum安装的Apache版本只有5.4,这个版本并不支持最新的反向代理功能 。如果要将Apache配置为反向代理服务器,需要将Apache升级至最新版本。所以需要在升级前先安装第三方的软件源,我是在安装了CodeIT库后,才将Apache升级到最新版本。接下来的安装就比较顺利了。 - Nginx服务器
安装Nginx服务器时,存在与安装Apache时同样的问题。就是需要先更新CentOS上的第三方软件源后,再使用yum进行安装。虽然Nginx也可以使用离线安装,但我依然建议使用yum进行安装。少了很多需要自己对Nginx进行配置的步骤。不知道为什么Nginx服务器的默认配置文件中的用来运行服务的用户名是“apache”,而不是“nginx”。在启动服务前,要记得修改Nginx.conf中的“User”设置为已经存在的用户,如果不知道就干脆用root。总得来说,Nginx的反向代理服务器配置还是要比Apache简单一些。 - ASP.Net Core Runtime
ASP.Net Core Runtime的安装可以参考微软提供的安装步骤,微软针对Linux不同版本,提供了相应的安装步骤。不过目前的.Net Core 2.2中的Identity好像有些问题,原来在2.1好用的程序更新为2.2后,出现了异常。 - ASP.Net Core应用
ASP.NET Core应用在Linux上只能通过Kestrel服务器解析,Apache或Nginx只是作为反向代理服务器使用。我觉得这是出于最佳实践的考虑,在安全与负载均衡方面,反向代理是现在使用最多的解决方案。因此.Net Core从一开始就采取这种模式工作。实际上在Linux内核没有原生支持.Net Core时,这也是一个折中的解决办法。 - SELinux
在配置完Nginx服务器和部署完ASP.Net Core应用后,还有一项工作是必须的。就是关闭SELinux或是将httpd_can_network_connect --> on ,否则两个进程间是无法直接通信的。
- Apache服务器
最后,需要补充一点。在这次的整个Linux平台探索的过程,有好几次服务或应用表现不正常。例如:我刚刚部署完ASP.NET Core应用时,在内网进行测试。发现有的客户端上的浏览器正常,有的客户端就会显示“无法找到页面”。查看日志,发现Nginx根本就没处理请求,最后居然都是重启服务器解决的。因此,我觉得在配置Linux服务器都完成后,最好重启一次服务器。以上就是这次Linux平台初探过程的简单概括,今后还要继续深入的学习Linux系统的相关知识外,还要深入学习.Net Core与ABP框架的相关知识。真是一入Linux深似海,从此Windows是路人。
Linux系统初探过程总结的更多相关文章
- linux系统开机过程描述
本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...
- linux系统引导过程
linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...
- Linux系统初始化过程及运行级别简介
Linux开机过程: 1 开机自检(BIOS):初始化硬件,查找启动介质 2 MBR引导 3 GRUB引导菜单:GRUB程序安装在Bootloader 4 加载内核(kernel) 5 运行INIT进 ...
- 【Linux系统引导过程】
*** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...
- Linux系统引导过程及排除启动故障
一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法 ...
- Linux系统——引导过程与服务控制
一.Linux开机启动原理(十步) (1)开机自检BIOS 开机检测,主板检测 (2)MBR引导 硬盘512字节 (3)GRUB菜单 操作系统菜单 (4)加载内核(kernel) 启动操作系统核心,根 ...
- 用虚拟机安装Linux系统的过程
1.打开VMware->点击File->点击New Virtual Machine.. 2.我们选择Custom并点击Next 3.保持默认然后点next 4.选择图中所示内容,点Next ...
- linux系统使用过程遇到的bug
使用windows与ubuntu双系统,重装windows系统后需要修复ubuntu grub reference ubuntu系统中挂载的windows硬盘点不开 需要重新挂载 reference ...
- linux系统登陆过程
一.物理直连登陆过程 初始化进程init 会根据直接连接的字符终端设备,打开getty程序,并关联在字符终端设备上tty1/2/3/4/5/6/7....上,在不同的终端设备上提示用户输入信息,等待终 ...
随机推荐
- 动态代理与HOOK(与oc isa 替换)
HOOK:面向函数,解决函数调用拦截与替换的问题: 动态代理:面向对象,解决对象的动态替换问题: 动态代理的实现方案: 1.经典代理机制: 2.子类化机制:oc语言的isa替换是这额解决方案的经典案例 ...
- cocos2d-x(十一)Lua开发飞机大战-6-加入子弹
接下来我们为飞机加入子弹,首先创建一个BulletLayer: module("BulletLayer",package.seeall) local bulletBatchNode ...
- 【node.js】Stream(流)
Stream 有四种流类型: Readable - 可读操作. Writable - 可写操作. Duplex - 可读可写操作. Transform - 操作被写入数据,然后读出结果. 所有的 St ...
- 网络编程之OSI七层协议
七层协议: 应用层 表示层 会话层 传输层 网络层 数据连接层 物理连接层 1.物理连接层: 实现计算机之间物理连接,传输的数据都是010101的二进制 电信号工作原理:电只有高低电频 2.数据链路层 ...
- SRcnn:神经网络重建图片的开山之作
% ========================================================================= % Test code for Super-Re ...
- webpack一小时入门
什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以 ...
- C++类型转换符重载
对于用户自定义的类类型,实现它们和其他数据类型之间的转换有两种方法:(1)通过转换构造函数进行类型转换:(2)通过类型转换函数进行类型转换:转换构造函数: 类名(待转换类型) { 函数体; } ...
- sencha 2.3中自己定义PullRefreshFn给PullRefresh加入下拉刷新事件
Sencha removed the refreshFn from the pullrefresh plugin in ST 2.2. Here is an user extension with g ...
- 如何取得SharePoint Timer Job的历史成功数和失败数,并按照日期计算排列
[问题]. 如何取得SharePoint Timer Job的历史成功数和失败数,并按照日期计算排列 [分析] 管理中心只是罗列了所有job的历史和上一次是否成功,没有关于成功和失败的统计数据 [解决 ...
- sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
原文:sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取 在多人开发中最头疼的是人少事多没有时间进行codereview,本来功能都没时间写,哪有时间来开会细细来分析代码.软件能跑就行, ...