这一篇实例记录一次用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. Trie学习笔记

    Trie(字典树) 基本数据结构 实际是:对于每个字符串组的每一个不同前缀建立节点 基本代码 void Insert(char *s,int p){ int now=0; int l=strlen(s ...

  2. 删除DB2实例下的数据库

    db2ilist 查看所有实例  db2 get instance 查看当前连接的实例 db2 list db directory 查看当前实例下连接的数据库 ==================== ...

  3. java 从 PKCS12(比如pfx格式)证书中提取私钥证书(PrivateKey)和受信任的公钥证书(X509Certificate)的序列号(SerialNumber)

    import lombok.Cleanup; import lombok.Getter; import lombok.Setter; import lombok.SneakyThrows; impor ...

  4. 【4opencv】为基于OpenCV的图像处理程序编写界面—关于QT\MFC\CSharp的选择以及GOCW的介绍

            基于OpenCV编写图像处理项目,除了算法以外,比较重要一个问题就是界面设计问题.对于c++语系的程序员来说,一般来说有QT/MFC两种考虑.QT的确功能强大,特别是QML编写andr ...

  5. UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx'

    UICachedDeviceRGBColor CGImage]: unrecognized selector sent to instance 0xxxxxxxxxxx' 报错原因是 本来应该写空间的 ...

  6. springMVC 数据模型相关注解 可注释类型 ModelAttribute SessionAttributes InitBinder

    ModelAttribute 参数/方法SessionAttributes 类InitBinder 方法

  7. 【WPF】通过修改dataGrid的cell的style,改变选中行失去焦点时的颜色

    <Style TargetType="{x:Type DataGridCell}"> <Style.Triggers> <Trigger Proper ...

  8. java多线程(三)线程的安全问题

    1.1. 什么是线程安全 如果有多个线程同时运行同一个实现了Runnable接口的类,程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的:反之,则是线程不 ...

  9. IEEE-754格式标准,float,

    float float类型数字在计算机中用4个字节存储.遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e 底数部分 使用二进制数来表示此浮点数的实际值指数部分 占用8bit的二进 ...

  10. phpspreadsheet 中文文档(四) 创建电子表格+档案格式

    2019年10月11日14:01:48 该Spreadsheet班 该Spreadsheet班是PhpSpreadsheet的核心.它包含对所包含工作表,文档安全性设置和文档元数据的引用. 为了简化P ...