这一篇实例记录一次用Centos7创建并部署.net core项目的过程,希望能帮到用到的小伙伴。

  Kestrel 是 ASP.NET Core 项目模板中包括的默认 Web 服务器,Kestrel可以用作边缘服务器,同时Kestrel也可以做反向代理配置

    

一.创建并运行.net core MVC项目

  1.用命令创建一个.net core MVC项目(前提是安装了.net core SDK)

          dotnet new mvc -n "Test"       (-n参数是指定项目的名称)

          

 2.进入项目并运行(必须要先进入创建的项目再执行命令)

          dotnet run

          

 3.在浏览器中查看效果

          这个错误主要是https的安全证书问题,再这里我们先简单的修改项目的配置,使其正常的跑起来。

          

  4.修改项目中Properties下面的launchSettings.json文件

          

          

 5.重新运行项目就可以正常打开了

          

 6.发布项目

          dotnet publish --configuration Release

          

    

二.使用 Apache 在 Linux 上托管 ASP.NET Core

   1.安装Apache

          yum install httpd      

          

  2.配置 Apache

          Apache 的配置文件位于 /etc/httpd/conf.d/ 目录内。 除了 /etc/httpd/conf.modules.d/ 中的模块配置文件外(其中包含加载模块所需的任何配置文件),将对任何带 .conf 扩展名的文件按字母顺序进行处理。

          在/etc/httpd/conf.d/目录下为应用创建名为 Test.conf 的配置文件,配置如下:

        

            <VirtualHost *:*>
             RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
            </VirtualHost>
            <VirtualHost *:>
             ProxyPreserveHost On
             ProxyPass / http://127.0.0.1:5000/
             ProxyPassReverse / http://127.0.0.1:5000/
             ServerName www.example.com
            ServerAlias *.example.com
             ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
             CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
            </VirtualHost>

           

  3.保存文件并测试配置

           sudo service httpd configtest

           

  4.为项目创建一个服务文件

           vim /etc/systemd/system/kestrel-Test.service

            配置内容如下:

                

                [Unit]
                Description=Example .NET Web API App running on CentOS 7
                [Service]
                WorkingDirectory=/var/dotnet/Test
                ExecStart=/usr/bin/dotnet /var/dotnet/Test/bin/Release/netcoreapp2./Test.dll
                Restart=always
                RestartSec=
                KillSignal=SIGINT
                SyslogIdentifier=dotnet-example
                User=apache
                Environment=ASPNETCORE_ENVIRONMENT=Production
                [Install]                 WantedBy=multi-user.target

            

  5.启动服务和apache服务  

      systemctl start kestrel-Test.service

      systemctl start httpd

                    

            此时访问本地的80端口就会发现已经转发到.net core项目上了  

  脱坑指南

       当配置完/etc/conf.d/Test.conf时,发现apache起不来了。这时请检查你的SELinux是否开着,开着的话关闭,重启服务就好了

  

在Centos7中创建.net core 项目,并用Apache做代理服务器部署.net core项目的更多相关文章

  1. 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...

  2. ASP.NET Core学习之四 在CentOS上部署.net core

    一.安装CentOs 以前在大学学过linux,但是对命令行总是有一种深深的排斥感,几年之后,还是又回来了. 1.下载 现在没法FQ,就算是FQ网速也是蜗牛一样慢,我使用阿里云的镜像站进行下载速度还是 ...

  3. apache&mod_wsgi&django部署多个项目

    今天做好了第二个django项目,但在部署时出了一点小问题,在此记录一下. 1.mod_wsgi 3.4已经支持了部署多个项目,只需在httpd.conf中进行如下配置: WSGIScriptAlia ...

  4. CentOS7 中创建 Django 项目

    1. (新建文件夹用于存放项目)进入指定文件夹,创建Django项目 django-admin.py startproject mysite mysite 为项目名称 2. 进入项目文件夹,新建app ...

  5. SpringBoot项目 使用Jenkins进行自动化部署 (gitLab管理项目)_

    1.部署服务器创建好对应文件夹和启动脚本 创建文件夹 mkdir /wdcloud/app/rps/rps-module-category 创建启动脚本 cd /wdcloud/app/rps/rps ...

  6. 创建FTP的Site并用C#进行文件的上传下载

    创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...

  7. centos7中使用yum安装tomcat以及它的启动、停止、重启

    centos7中使用yum安装tomcat 介绍 Apache Tomcat是用于提供Java应用程序的Web服务器和servlet容器. Tomcat是Apache Software Foundat ...

  8. 在Eclipse中创建Django项目

    在以前的分享中,我们是在命令行模式下创建Django项目的,那么,如何在IDE中使用Django呢? 本文将介绍如何在Eclipse中创建Django项目. 首先,新建Django项目mysite,如 ...

  9. EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

    官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...

随机推荐

  1. BiseNet阅读总结

    一.思路 语义分割既需要丰富的空间信息,又需要较大的感受野.然而,现代方法通常会牺牲空间分辨率来实现实时推理速度,导致性能低下.本文提出了一种新的双边分割网络(BiSeNet)来解决这一难题.我们首先 ...

  2. 【技术博客】 关于laravel5.1中文件上传测试的若干尝试

    关于laravel5.1中文件上传测试的若干尝试 作者:ZGJ 版本:v1.0 PM注:本人这两天也正在尝试解决这一问题,如有进展将及时更新这一博客 在我们的软工第二阶段中,我开始着手进行后端控制器的 ...

  3. latch - undo global data等待事件分析

    一环境跑压力测试的时候,标题所述等待事件在top N中.不用查,也知道是因为undo竞争的事件. 根据metalink文档解释,是由于undo表空间不足引起的. This implies that s ...

  4. [转]JS - Promise使用详解1(基本概念、使用优点)

    一.promises相关概念 promises 的概念是由 CommonJS 小组的成员在 Promises/A 规范中提出来的.   1,then()方法介绍 根据 Promise/A 规范,pro ...

  5. centos7.6使用 supervisor 对filebeat7.3.1进程进行管理

    centos7.6使用 supervisor 对filebeat7.3.1进程进行管理 Supervisor 是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX ...

  6. mac软件安装 for Mac

    Office 2019 for Mac 16.31(191110)官方原版安装包&激活 赠送Office 2016 16.16.16(191111) --------- https://www ...

  7. cp复制

    将Data文件复制到B目录下: cp -r /home/hp/Data /home/hp/B/  

  8. [Linux.centOS].安装Redis 腾讯云

    环境 { "服务器运营商":"腾讯云", "操作系统":"CentOS 7.5 64位", "CPU" ...

  9. 安装 python 爬虫框架 Scrapy

    官方安装说明文档:https://doc.scrapy.org/en/latest/intro/install.html#installing-scrapy 一.scrapy 需要以下依赖 二.一般来 ...

  10. qtableview 右键菜单弹出及获取数据

    connect(tableView, SIGNAL(customContextMenuRequested(const QPoint &)), this,SLOT(slot_tableViewM ...