linux服务器如何上传网站,Linux服务器如何发布asp.net网站

news/2024/5/20 16:59:07/文章来源:https://blog.csdn.net/weixin_33411550/article/details/116579622

ASP.NET core是一个用于net程序跨平台的框架,在此基础上会重写windows、Linux,以实现所有net程序、网站的跨平台。该开发框架主要用于构建基于云的现代web应用。.net开发应用运行于windows平台,由于成本原因而大量使用免费Linux平台,这使得.net有技无可施。.net被广泛认为是适合开发企业内部的应用系统。

微软正式发布.NET Core 1.0、ASP.NET 1.0和Entity Framework Core 1.0,通吃 Windows、OS X和Linux三大操作系统。.NET Core作为新一代跨平台、开源的.NET平台备受瞩目。

本文将介绍如何把ASP.NET Core的网站发布到Linux服务器上。

环境准备

本文用到的操作系统和软件版本如下:

Visual Studio 2017企业版

.NET Core 1.1

CentOS 7 X64

创建发布ASP.NET Core网站项目

1.创建项目

打开VS2017,新建项目,选择ASP.NET Core Web应用程序(.NET Core)

6b1d83395664c5bd48752cc13c9a8abc.png

选择Web应用程序模板。

c68225736fe5d0b8b27488a309151acb.png

直接F5测试网站是否正常。

ccc6e45602f68ca4b9a799af0011d57f.png

2.增加Url网址配置文件

项目默认使用http://localhost:5000的Url进行侦听,我们可以增加一个配置文件来随时修改Url地址。

在项目根目录中增加一个hosting.json文件,文件内容如下(192.168.57.7是服务器IP):

{

"server.urls": "http://192.168.57.7:8080"

}

编辑Program.cs文件,修改为内容如下:

public static void Main(string[] args)

{

var config = new ConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile("hosting.json", optional: true)

.Build();

var host = new WebHostBuilder()

.UseKestrel()

.UseConfiguration(config)

.UseContentRoot(Directory.GetCurrentDirectory())

.UseIISIntegration()

.UseStartup()

.UseApplicationInsights()

.Build();

host.Run();

}

3.发布项目

右键项目-发布,选择文件夹模式。

把发布的PublishOutput文件夹压缩成zip格式,上传到CentOS服务器。

安装.NET Core

1.下载最新的.NET Core版本

使用的版本是dotnet-centos-x64.1.1.1.tar.gz。

2.上传并解压下载的安装文件。

$ # 创建dotnet文件夹

$ mkdir ~/dotnet

$ # 复制dotnet安装文件到dotnet文件夹下

$ cp dotnet-centos-x64.1.1.1.tar.gz ~/dotnet

$ # 解压安装文件

$ tar -xzf ~/dotnet/dotnet-centos-x64.1.1.1.tar.gz

$ # 添加软连接,可以在全局使用

$ ln -s ~/dotnet/dotnet /usr/local/bin

$ # 测试安装是否成功,成功会显示版本号

$ dotnet –version

启动网站

$ #解压之前上传的网站压缩文件,如果没有安装unzip,运行yum install -y unzip zip安装

$ unzip ~/dotnet/PublishOutput.zip

$ #先关闭防火墙

$ systemctl stop firewalld.service

$ #启动网站

$ cd PublishOutput

$ dotnet  TestAspNetCoreWeb.dll

$ 如果报错Failed to bind to CoreCLR,运行yum install -y libunwind

bb4095500654659f12dd7874f836e84b.png

启动成功。

ce152c53936141216a6c1d4220a65162.png

安装配置守护进程(Supervisor)

使用Supervisor对ASP.NET Core网站应用进行监控,使网站可以持续运行,不然退出Shell后网站就停止了。

$ # 安装Supervisor

$ yum install python-setuptools

$ easy_install supervisor

$ #配置Supervisor

$ mkdir /etc/supervisor

$ echo_supervisord_conf > /etc/supervisor/supervisord.conf

修改supervisord.conf文件,将文件最后的内容修改如下:

1e7677a278ba8546a2ff60174f17637e.png

创建目录conf.d,在目录下创建文件TestAspNetCoreWeb.conf

文件内容如下:

[program:TestDotNetCoreWeb]

command=dotnet TestAspNetCoreWeb.dll

directory=~/dotnet/PublishOutput

autorestart=true

stderr_logfile=/var/log/TestDotNetCoreWeb.err.log

stdout_logfile=/var/log/TestDotNetCoreWeb.out.log

environment=ASPNETCORE_ENVIRONMENT=Production

user=root

stopsignal=INT

运行supervisord并查看进程是否生效。

$ supervisord -c /etc/supervisor/supervisord.conf

$ ps -ef | grep TestDotNetCoreWeb

d9147297be70ff334e91d116ece67c98.png

配置文件如有修改,使用命令supervisorctl reload重新加载。

安装配置Nginx

下载合适版本的epel,并上传到服务器。

$ #安装epel

$ rpm -ivh epel-release-7-9.noarch.rpm

$ #安装nginx

$ yum install nginx

$ #启动nginx

$ systemctl start nginx

$ #将nginx添加至SELinux的白名单,否则会报502错误。

$ yum install policycoreutils-python

$ cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx

$ semodule -i mynginx.pp

$ #测试nginx是否正常

$ curl http://127.0.0.1

修改配置文件/etc/nginx/nginx.conf中server部分为以下内容,配置Nginx侦听之前的网站。

server {

listen  80 ;

location / {

proxy_pass http://192.168.57.7:8080;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection keep-alive;

proxy_set_header Host $host;

proxy_cache_bypass $http_upgrade;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

$ #修改完后重新加载配置文件

$ nginx -s reload

配置完成后即可使用http://192.168.57.7访问网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_796896.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过url账号密码登录其他网站_记一次巨水的网站测试

01本人菜鸡,大佬们亲喷~长话短说就是得到了授权测试一下网站,事先说了网站是前后端分离的。整个过程没有啥骚操作,都比较基础。02给了一个url,由于这是公司某业务系统的管理口,只有一个登录界面。如下图。常规测试下登…

没有限制的搜索引擎_一个合格的SEO人员必须了解搜索引擎的基本工作原理

许多看似混乱的SEO原则和技术,实际上,从搜索引擎的原理来看,都是自然而然的事情。一个合格的SEO必须了解搜索引擎的基本工作原理。今天牛叔将带您了解搜索引擎的原理。SEO就是在保证用户体验的基础上,尽可能迎合搜索引擎。不同于对…

win7作网站服务器,win7系统做网站服务器

win7系统做网站服务器 内容精选换一换当您想在Internet上通过域名访问您的网站时,可以通过华为云的云解析服务为域名添加解析记录。例如,搭建一个网站服务器,采用IPv4格式的弹性IP地址。如果想要实现通过域名“example.com”及其子域名“www.…

香港云服务器网站备案,中国香港云服务器网站备案

中国香港云服务器网站备案 内容精选换一换安全组类似防火墙功能,是一个逻辑上的分组,用于设置网络访问控制。用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。入方向:入方…

搭建“ 双11”大型网站架构必须掌握的 5 个核心知识

每年电商双11大促对背后技术人都是一次大考,阿里数据库团队表示。经过9年的发展,双11单日交易额从2009年的0.5亿一路攀升到2017年的1682亿,秒级交易创建峰值达到了32.5万笔/秒。支撑这一切业务指标的背后,是底层技术体系的一次次迭…

让网站永久拥有HTTPS - 申请免费SSL证书并自动续期

为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。 有HTTPS的时候,通俗地讲所有的数据传输都会被加密&…

gif分解工具_活用这些网站,轻松制作高级GIF动图

昨天,给大家写了哪些可以用来辅助运营作图的站点,实际上还有很多,作为即使不做全栈运营也得具备到处搜罗这些好站点的能力。很多做新媒体运营的同学,其实更多是要做配图,除了常规的头图之外,更多是文中的配…

网站服务器数据库没有权限怎么办,服务器数据库权限没有开启

服务器数据库权限没有开启 内容精选换一换安装Agent后,你才能开启数据库安全审计。通过本节介绍,您将了解如何在Linux操作系统的节点上安装Agent。Windows操作系统的Agent安装请参见安装Agent(Windows操作系统)。已成功购买数据库安全审计实例&#xff0…

php 随机在文章中添加锚文本_网站中锚文本作用

锚文本定义:锚文本又称锚文本链接,英文名叫anchortext,锚文本实际上是建立了文本关键词与URL链接的关系,锚文本的代码。锚文本可锚文本以作为锚文本所在的页面的内容的评估。正常来讲,页面中增加的链接都会和页面本身的…

切换节点服务器网站,服务器手动切换节点

服务器手动切换节点 内容精选换一换1、集群当前的节点数较多,可以选择将部分节点进行删除,对集群进行缩容操作以同时节省费用。2、集群中某个节点出现异常且无法手动恢复后,可使用节点删除将该节点进行删除操作,随后根据需要再重新…

网页设计html图片滚动特效,网站设计|滚动特效全面讲解!

在视差滚动网页的设计上,无论是移动端还是桌面端,如今的设计师都有了足够深入的探索,并且对于功能和体验上的挖掘,都有了比较成熟的经验。无论是导航悬停式的滚动还是水平滚动和分屏3D特效,视差滚动这一设计趋势已经深…

网站服务器建立数据库连接时出错,[SqlException (0x80131904): 在建立与服务器的连接时出错...

[SqlException (0x80131904): 在建立与服务器的连接时出错在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)说…

百度SEO,该什么时间使用Nofollow?

在百度SEO过程中,每一个SEO人员,手中可利用的资源都是有限的,因此,在页面优化的时候,特别对于新站而言,我们应该学会善用权重。 这可能让很多SEO新人感觉错愕,实际上一个页面的权重&#xff0c…

php mysql 架构_【原创】php+mysql下,对网站架构方面的一些认识(以我维护的站点为例)...

因涉及到关键信息,本文删除相关配图。但51CTO在删之前已经收录本文,目前网站架构一般分成负载均衡层、WEB层和数据库层负载均衡层-- LVS,WEB层--使用了nginxweb服务器,数据库层--我们使用了db集群方案。【应广大网友要求&#xff…

为何大量网站不能抓取?爬虫突破封禁的6种常见方法

为何大量网站不能抓取?爬虫突破封禁的6种常见方法 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)…

网页左侧导航栏点击怎么显示右侧内容_科普:域名购买后怎么建站、设计网页...

现在建设自己的网站,已经成了很多企业、工作室、个人的重要需求。要想开始建站,你需要有自己的网站域名,域名可以直接在阿里云、上线了等网站购买。有域名 建站可以自己做吗?当然是可以的,接下来就教下大家域名购买后怎…

sql注入过滤select_网站SQL注入渗透测试手法介绍

国庆即将到来,前一期讲到获取网站信息判断所属环境以及各个端口的用处和弱口令密码利用方法,这期仍有很多客户找到我们想要了解针对于SQL注入攻击的测试方法,这一期我们来讲解下注入的攻击分类和使用手法,让客户明白漏洞是如何产生的,会给网站…

200 ssl服务器证书无效_如何在服务器上安装SSL证书,让你的网站变成https

本文适合任何人了解,图形化操作。下面以腾讯云为例,并且服务器(linux)也安装了宝塔面板。1.登陆腾讯云账号进入控制台,找到SSL的产品2.按要求申请并填写表单,记住私钥密码3.提交后,待腾讯审核,如果颁发后&a…

html怎么增加浏览量,怎么提高网站浏览量?网站点击量大大增加方法介绍

很多网友都有自己的博客或者是SEO,怎么提高网站浏览量?下面小编就为大家介绍网站点击量大大增加方法,来看看吧!方法/步骤不管你是网站还是博客,其实,要点击率上升,是需要你的网站或者博客有亮点&#xff0…

网站页面左右_个人建网站需要多少钱?建站成本算给你看

现在有很多公司在市场上设计制作网站,但是做一个网站要花多少钱?不同的网站建设公司提供不同的价格,这将使客户在选择时更加困惑,下面由小编就跟大家说一说做一个网站大概需要多少钱合适。建网站费用是根据你所建网站的类型来决定的&#xf…