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. 【原创】修改最大用户进程限制 "ulimit -u"

    centos 6.x 内核版本2.6.32以上,修改/etc/security/limits.d/90-nproc.conf:因为系统是先读/etc/security/limits.conf的值,在用 ...

  2. python第三课——数据类型2

    day03: 1.列表:list 特点:有序的(有索引.定义和显示顺序是一致的).可变的(既可以改变元素内容也可以自动扩容).可重复的. 可以存储任何的数据类型数据 定义个列表如下: lt = ['宋 ...

  3. luogu P3391 【模板】文艺平衡树(Splay)

    嘟嘟嘟 突然觉得splay挺有意思的-- 这道题只有一个任务:区间翻转. 首先应该知道的是,splay和线段树一样,都可以打标记,然后走到每一个节点之前先下传. 那怎么打标记呢?还应该有"区 ...

  4. Day13 泛型

    泛型 泛型定义 在一个类型(类,接口,方法)之后,定义一个类型参数. 原生类型:类型后面没有指定具体的类型参数. 好处 使用泛型的好处在于,它在编译的时候进行类型安全检查,并且在运行时所有的转换都是强 ...

  5. Linux环境更改Jenkins的主目录

    Linux环境更改Jenkins的主目录 Linux环境中,Jenkins主目录默认在/root/.jenkins Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改: 1.使 ...

  6. jQuery放大镜插件

    (function($) { $.fn.magnifier = function(options){ var options = $.extend({ bigWidth: 400, //大图高度 bi ...

  7. openstack常用的一些命令

    查看rabbitmq 队列 rabbitmqctl list_queues 复制代码 查看keystone的用户 keystone user-list 复制代码 查看keystone endpoint ...

  8. 20145203盖泽双《Java程序设计》第三周学习总结

    20145203盖泽双<Java程序设计>第三周学习总结 教材学习内容总结 1.两个基本的标准类:java.util.Scanner与java.math.BigDecimal. 2.Big ...

  9. MySQL插入emoji表情失败问题的解决方法

    前言 之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题.最近在做新浪微博的爬虫, 在存库的时候发现只要保持emoji表情,就回抛出以下异常: Incorrect string v ...

  10. 故障排除--kubernetes 运维操作步骤 -- kubedns -- busybox -- nslookup 问题

    1.node的扩容 在k8s中,对一个新的node的加入非常简单,只需要在node节点上安装docker.kubelet和kube-proxy服务,然后将kubelet和kube-proxy的启动参数 ...