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. C++ Primer Plus 第15章 友元、异常和其它

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/chudaxiakkk/article/details/30502807 第15章 友元.异常和其它 ...

  2. POJ Football Game 【NIMK博弈 && Bash 博弈】

    Football Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 451   Accepted: 178 Descr ...

  3. 说说Javac

    Java语言有Java语言的规范,,这个规范详细描述了Java语言有哪些词法.语法,而Java虚拟机也有其Java虚拟机的规范,同样Java虚拟机的规范和Java语言规范并不一样,它们都有自己的词法和 ...

  4. 域对象 request

    一)域对象: 1)request的生命周期: 从请求开始创建,到响应完成结束. 2)  作用:携带一次请求内的数据. 3)请求转发: 请求转发: 1)浏览器发送请求到服务器A,然后服务器A将请求转发到 ...

  5. bootstrap组件-导出数据

    一.需求:在我们日常工作的时候,对数据的导出有需求.比如导出JSON.XML.SQL等形式.方便我们日常使用. 二.组件:我们可以使用bootstrap的扩展插件Table Export来实现我们的需 ...

  6. Msys/MinGW与Cygwin/gcc

    一. MinGW MinGW 官方网站为 http://www.mingw.org/ MinGW,即 Minimalist GNU For Windows(GCC compiler suite).它是 ...

  7. ios学习路线—Objective-C(Runtime消息机制)

    RunTime简称运行时.就是系统在运行的时候的一些机制,其中最主要的是消息机制.对于C语言,函数的调用在编译的时候会决定调用哪个函数( C语言的函数调用请看这里 ).编译完成之后直接顺序执行,无任何 ...

  8. NAS、SAN、ISCSI存储

    前提补充:linux下只要能够mount存储盘到目录,则这个存储盘必定是格式化过了的 NAS1.客户端通过TCP/IP协议连接存储服务器的存储卷.2.客户端---网络交换机---存储服务器3.存储服务 ...

  9. 关于安装时无法重启rabbitmq服务

    如图重启时找不到rabbitmq, 解决办法: rabbitmqctl stop :停止rabbitmq  rabbitmq-server restart : 重启rabbitmq 这两步就可以完成重 ...

  10. HTML5新增的几个容器模块

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...