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 ,否则两个进程间是无法直接通信的。

  最后,需要补充一点。在这次的整个Linux平台探索的过程,有好几次服务或应用表现不正常。例如:我刚刚部署完ASP.NET Core应用时,在内网进行测试。发现有的客户端上的浏览器正常,有的客户端就会显示“无法找到页面”。查看日志,发现Nginx根本就没处理请求,最后居然都是重启服务器解决的。因此,我觉得在配置Linux服务器都完成后,最好重启一次服务器。以上就是这次Linux平台初探过程的简单概括,今后还要继续深入的学习Linux系统的相关知识外,还要深入学习.Net Core与ABP框架的相关知识。真是一入Linux深似海,从此Windows是路人。

Linux系统初探过程总结的更多相关文章

  1. linux系统开机过程描述

    本文描述linux系统开机过程,属于个人理解范畴,如果文中表述有误请大家批评指正! 计算机开机之后,首先要加载BIOS(基本输入输出系统)信息,BIOS包含了很多重要的信息,包括CPU信息,设备启动顺 ...

  2. linux系统引导过程

    linux系统引导过程 linux-0.11引导时,将依次运行BIOS程序.bootsect.s.setup.s和head.s,完成引导过程后进入到main函数运行.BIOS完成硬件的检查与初始化等工 ...

  3. Linux系统初始化过程及运行级别简介

    Linux开机过程: 1 开机自检(BIOS):初始化硬件,查找启动介质 2 MBR引导 3 GRUB引导菜单:GRUB程序安装在Bootloader 4 加载内核(kernel) 5 运行INIT进 ...

  4. 【Linux系统引导过程】

    *** 第一步 开机自检 根据主板BIOS中的启动顺序,移交系统控制权. 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它. 这是因为BIO ...

  5. Linux系统引导过程及排除启动故障

    一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法 ...

  6. Linux系统——引导过程与服务控制

    一.Linux开机启动原理(十步) (1)开机自检BIOS 开机检测,主板检测 (2)MBR引导 硬盘512字节 (3)GRUB菜单 操作系统菜单 (4)加载内核(kernel) 启动操作系统核心,根 ...

  7. 用虚拟机安装Linux系统的过程

    1.打开VMware->点击File->点击New Virtual Machine.. 2.我们选择Custom并点击Next 3.保持默认然后点next 4.选择图中所示内容,点Next ...

  8. linux系统使用过程遇到的bug

    使用windows与ubuntu双系统,重装windows系统后需要修复ubuntu grub reference ubuntu系统中挂载的windows硬盘点不开 需要重新挂载 reference ...

  9. linux系统登陆过程

    一.物理直连登陆过程 初始化进程init 会根据直接连接的字符终端设备,打开getty程序,并关联在字符终端设备上tty1/2/3/4/5/6/7....上,在不同的终端设备上提示用户输入信息,等待终 ...

随机推荐

  1. PHP常用符号和函数

    (转)最近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号,三个小于符号,eot,eod,echo示例,print示例等,突然间 发现用这么久的PHP了,竟然连PHP的基本符号都没有认 ...

  2. MySQL管理.md

    用户管理 创建 举例 mysql> create user test@localhost identified by 'password'; Query OK, 0 rows affected ...

  3. Elasticsearch简单使用和环境搭建

    Elasticsearch简单使用和环境搭建 1 Elasticsearch简介 Elasticsearch是一个可用于构建搜索应用的成品软件,它最早由Shay Bannon创建并于2010年2月发布 ...

  4. 「PKUWC2018」随机算法

    题目 思博状压写不出是不是没救了呀 首先我们直接状压当前最大独立集的大小显然是不对的,因为我们的答案还和我们考虑的顺序有关 我们发现最大独立集的个数好像不是很多,可能是\(O(n)\)级别的,于是我们 ...

  5. Day2 MySql函数以及单表查询

    SQL中的运算符 算术运算符 --算术运算符(子句) ; ; ; ; --0.75 ; --NULL div ; 比较运算符> < >= <= != = --0表示false, ...

  6. 打包dll发布到nuget服务器

    几个月前上传过一次nuget包,结果好久不用,今天想更新下,完全忘记了怎么用了,又是一顿查,所以决定记录下来,当然这可能不是一个傻瓜式的教程,但聪明的你们应该能够看明白的,因为整体操作还是很简单的 好 ...

  7. python获取网站http://www.weather.com.cn 城市 8-15天天气

    参考一个前辈的代码,修改了一个案例开始学习beautifulsoup做爬虫获取天气信息,前辈获取的是7日内天气, 我看旁边还有8-15日就模仿修改了下.其实其他都没有变化,只变换了获取标签的部分.但是 ...

  8. IIS提示出现RPC服务器不可用的解决方法

    如果你运行IIS时也遇到“RPC服务器不可用”的故障提示,不妨试试我们下面的办法 依次点击“管理工具→服务→Remote Procedure Call→属性”,其默认启动类别是“自动”,但选项是灰色的 ...

  9. Redis 可视化工具 Redis Desktop Manager 和 treeNMS 的使用

    这里介绍两个 Redis 可视化工具.Redis Desktop Manager 和 treeNMS. 一.Redis Desktop Manager 下载地址:https://redisdeskto ...

  10. PHP核心技术——面向对象

    类与对象: 类的定义与实例化. //定义类 class person{ public $name; public $gender; public function say(){ echo $this- ...