iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET Core快速入门之环境篇
  • 832
分享到

ASP.NET Core快速入门之环境篇

2024-04-02 19:04:59 832人浏览 安东尼
摘要

目录前言vmware虚拟机安装Centos7.3安装windows的客户端软件.net core1.1安装Nginx1.12.1安装配置防火墙部署ASP.net core应用程序ng

前言

ASP.Net Core 是一个开源和跨平台的框架,用于构建如 WEB 应用、物联网ioT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。asp.net Core 应用可运行于 .net Core 和完整的 .NET Framework 之上。它整合了原来ASP.NET中的mvcwebapi框架,你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.NET Core 应用。

vmware虚拟机安装

vmware哪里下载?360软件管家就可以下载。然后网上找个序列号。

我这里安装的是12.1.1

安装很简单一直下一步就好了。

CentOS7.3安装

下载CentOS Http://isoredirect.centos.org/centos/7/isos/x86_64/ 我们可以选择163或阿里云的节点,速度会快点。

下载完成后打开vmware准备安装

菜鸟可以选择有界面的

选好后然后开始安装,然后设置密码,然后重启就好了。

Windows的客户端软件

下载安装Xshell https://www.baidu.com/baidu?Word=Xshell
下载安装WinSCP https://www.baidu.com/baidu?word=WinSCP (你也可以使用Xftp,记得选sftp,不然需要服务器支持ftp)
进入CentOS,右键

开始第一个命令。查看IP

ifconfig -a

接下来,可以全部由Xshell操作。

打开Xshell

然后输入用户名密码登录。(使用root登录)

.NET Core1.1安装

根据微软资料 https://www.microsoft.com/net/core

在命令行执行:


sudo yum install libunwind libicu  #(安装libicu依赖)
curl -sSL -o dotnet.tar.gz https://Go.microsoft.com/fwlink/?linkid=848821 #(下载sdk压缩包) 根据网速,可能快可能慢
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet #(解压缩)
sudo ln -s /opt/dotnet/dotnet /usr/local/bin #(创建链接)

dotnet new console -o hwapp   # 我们初始化一个示例Hello World应用程序 (这里稍微耗时点)
cd hwapp

dotnet restore
dotnet run   #运行应用程序 

看到打印的hello world证明 .net core的环境已经装好了。

【小白技巧】

  • "#"是注释
  • shirf + insert 粘贴 (不能ctrl + c v 有点不习惯)
  • ctrl + insert 复制

nginx1.12.1安装


curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx.rpm
yum install nginx #安装


systemctl start nginx #启动nginx
systemctl enable nginx #设置nginx的开机启动

然后登录 CentOs系统 打开浏览器 输入 :192.168.233.129 (之前查到的IP)

看到这个页面就代表安装成功了。

配置防火墙

如果你在物理机的浏览器访问,你会发现访问不了。
那是因为CentOs的防火墙拦截了,我们打开端口。


firewall-cmd --zone=public --add-port=80/tcp --permanent #(开放80端口)
systemctl restart firewalld #(重启防火墙以使配置即时生效)

然后访问成功。

部署ASP.NET Core应用程序

打开VS2017 新建一个.net core 项目

右键发布(发布之前最好先在本地跑下看正常不)

然后打开我们的WinSCP(前面下载的)

点击登录,然后就可以看到CentOs系统的文件目录了。然后随便建个文件夹,准备放我们发布发好的程序。

右键上传

然后命令运行


cd /home/netcoreDemo #这个目录 要输入你自己对应放的目录
dotnet netcoreDemo.dll # netcoreDemo.dll 这个对应你建的项目生成的dll

看到了5000 端口的一个网址,证明部署好了。
然后在虚拟机里面访问 http://localhost:5000 ,ok。

nginx 配置

前面我们只说了nginx,并没有说是干嘛的。nginx的作用有点先iis,是个web服务器。做转发。
我们发现http://localhost:5000 可以访问。但是通过ip却不能访问。那么我们现在就可以通过80访问nginx,然后nginx再帮我们访问5000。

打开路径 /etc/nginx/conf.d
编辑default.conf 文件内容替换为


server {
    listen 80;
    location / {
        proxy_pass http://localhost:5000;
        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;
    }
}

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


nginx -s reload #使其即时生效
【注意】然后这里访问下 http://192.168.233.130/ (对应你自己的centos ip,这一步好重要。应该是要先主动触发这个502错误吧。)
yum install policycoreutils-python  #(选y)
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp

SELinux 对nginx访问目录的影响
https://www.cnblogs.com/mywebnumber/p/5572984.html

然后我们就可以在物理机上通过ip访问了(不用带端口了,直接80 然后 nginx 转到了5000)。

配置守护服务(Supervisor)


yum install Python-setuptools
easy_install supervisor  #安装Supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf  #配置Supervisor

文件的最后


;[include]
;files = relative/directory/*.ini

改成(【注意】去掉;且不能有空格)


[include]
files = conf.d/*.conf

进入目录 /etc/supervisor/ 新建 conf.d文件夹,conf.d文件夹下新建 netcoreDemo.conf文件
内容(【注意】看 第二行 第三行的 注释,根据实际名字填入


[program:netcoreDemo]
command=dotnet netcoreDemo.dll ; (注意)运行程序的命令
directory= /home/NetCoreDemo/ ; (注意 注意)对应的你的项目的存放目录,这个地方好多初学者搞错!!!
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/WebApplication1.err.log ; 错误日志文件
stdout_logfile=/var/log/WebApplication1.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

supervisord -c /etc/supervisor/supervisord.conf
ps -ef | grep netcoreDemo  #【注意】netcoreDemo是上面 program:netcoreDemo 的命名 
supervisorctl reload  #重新加载

然后就好了,现在关掉那个5000界面也可以访问。

配置Supervisor开机启动

打开目录 /usr/lib/systemd/system/ 新建文件 supervisord.service

内容:


# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://GitHub.com/ET-CS)
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

执行命令:


systemctl enable supervisord  
systemctl is-enabled supervisord #来验证是否为开机启动

systemctl stop supervisord      #关闭
systemctl disable supervisord #禁用

到此,完工。现在重新电脑什么都不用管,直接可以访问部署好的网站。

mysql5.6.37安装

http://www.cnblogs.com/starof/p/4680083.html (我用的方法二)

安装rar压缩

下载 http://www.rarsoft.com/download.htm

把文件放服务器上。然后cd到这个目录执行


tar -zxvf rarlinux-x64-5.4.0.tar.gz # rarlinux-x64-5.4.0.tar.gz是你下载的文件名
cd rar
make
rar #安装

安装好了后我们就可以打命令解压文件了


cd #跳到压缩文件目录
rar x ceshi.rar     #解压到当前文件夹 ceshi.rar是压缩文件名
rar a abc.rar ceshi #压缩文件夹 到 abc.rar

在CentOS中安装完rar命令,会自动安装zip命令


cd /home #进入/home目录
zip -r mydata.zip mydata      #把/home目录下面的mydata目录压缩为mydata.zip
unzip mydata.zip -d mydatabak #把/home目录下面的mydata.zip解压到mydatabak目录里面
zip -r abc123.zip abc 123.txt #把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
unzip wwwroot.zip             #把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip abc\*.zip               #把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
unzip -v wwwroot.zip          #查看把/home目录下面的wwwroot.zip里面的内容
unzip -t wwwroot.zip          #验证/home目录下面的wwwroot.zip是否完整
unzip -j wwwroot.zip          #把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录

常用linux命令


cd                 #目录跳转
cd /               #回到上一个目录
ls                 #查看目录下的文件
df -h              #查看文件使用情况
mkdir              #创建文件夹文件夹
vi                 # 编辑文件
:wq!               #强制保存文件,并退出vi

ifconfig -a        #查看ip
free #查看系统资源使用情况 http://blog.csdn.net/zhongluhuaok/article/details/52804187

firewall-cmd --zone=public --add-port=80/tcp --permanent     #开放80端口,也可以是其他端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent  # 关闭端口
systemctl restart firewalld                                  #重启防火墙,使其生效

service mysqld restart #重启mysql
nginx -s reload        # nginx 生效
reboot                 # 重启系统

supervisorctl start program_name   #启动某个进程(program_name=你配置中写的程序名称)
supervisorctl stop program_name    #停止某一进程 (program_name=你配置中写的程序名称)
supervisorctl reload               #重新启动配置中的所有程序
supervisorctl stop all             #停止全部进程
supervisorctl update               #更新新的配置到supervisord    
supervisorctl restart program_name #重启某一进程 (program_name=你配置中写的程序名称)
supervisorctl                      #查看正在守候的进程
http://blog.csdn.net/shudaqi2010/article/details/51153961

clear          #刷新终端屏幕 (或者 ctrl + l)
exit           #退出
shift + insert #粘贴
ctrl + insert  #复制

补充

centos上升级 .net core 2.0 需要先执行官网命令


curl -sSL -o dotnet.tar.gz https://aka.ms/dotnet-sdk-2.0.0-linux-x64
mkdir -p ~/dotnet && tar zxf dotnet.tar.gz -C ~/dotnet
export PATH=$PATH:$HOME/dotnet

然后再删除原有文件夹


rm -rf /opt/dotnet                              #删除原有文件夹
rm -rf /usr/local/bin/dotnet                    #删除原来定义的dotnet命令
sudo ln -s /root/dotnet/dotnet /usr/local/bin   #重新定义dotnet命令

项目程序也要升级到2.0,不然dotnet dll不能成功。

以上就是ASP.NET Core快速入门之环境篇的详细内容,更多关于ASP.NET Core环境搭建的资料请关注编程网其它相关文章!

--结束END--

本文标题: ASP.NET Core快速入门之环境篇

本文链接: https://www.lsjlt.com/news/124668.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET Core快速入门之环境篇
    目录前言vmware虚拟机安装CentOS7.3安装Windows的客户端软件.NET Core1.1安装nginx1.12.1安装配置防火墙部署ASP.NET Core应用程序ng...
    99+
    2024-04-02
  • ASP.NET Core快速入门之实战篇
    目录NO1 留言板(mysql的使用)NO2 聊天室(WebSocket的使用)NO3 找工作(AngleSharp的使用)部署多个站点一些其它的细节部署阿里云mysql的客户端获取...
    99+
    2024-04-02
  • ASP.NET Core快速入门教程
    目录第一课 基本概念第二课 控制器的介绍第三课 视图与表单第四课 数据验证第五课 路由规则第六课 应用发布与部署源码地址第一课 基本概念 基本概念Asp.Net Core Mvc是....
    99+
    2024-04-02
  • MyBatis快速入门之环境搭建和单表映射
    一.MyBatis简介    一说起对象关系映射框架,大家第一时间想到的肯定是Hibernate。Hibernate作为一个著名的框架,功能十分强大。我们只需要配置好实体类和数据表之间的关系,Hibernate...
    99+
    2023-05-31
    mybatis 快速入门 环境搭建
  • PyCharm环境设置指南:快速入门
    PyCharm环境配置全攻略:轻松上手,需要具体代码示例 PyCharm是一款由JetBrains公司开发的强大的集成开发环境(IDE),专门用于Python开发。它提供了丰富的功能和...
    99+
    2024-02-25
    pycharm 环境配置 上手指南
  • mac安装Golang开发环境及快速入门
    目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 2.1 快速入门需求 2.2 go学习(自用) 2.2.1 go基础程序 2.2.2 变量声明 2....
    99+
    2023-09-01
    macos golang
  • 创建虚拟环境:使用pipenv快速入门
    快速上手pipenv:创建你的第一个虚拟环境 在Python开发中,使用虚拟环境是一种常见的做法,它可以帮助我们隔离项目和依赖包之间的冲突,使得项目之间可以独立运行。而pipenv是一个Python包管理工具,它集成了虚拟环境和...
    99+
    2024-01-16
    虚拟环境 上手指南 pipenv
  • ASP.Net Core MVC基础系列之环境设置
    上一节我们介绍了中间件的基本使用, 这一节我们讲一讲.Net Core的环境设置, 以及根据不同的环境加载不同的配置信息 PS: 由于最近一直比较忙, 一直没抽时间更新这个系列, 最...
    99+
    2024-04-02
  • CodeReview之reviewboard快速入门
    CodeReview是一个用于进行代码评审的工具,而Reviewboard是CodeReview的一个开源实现。下面是Reviewb...
    99+
    2023-10-08
    CodeReview
  • Android开发入门环境快速搭建实战教程
    这篇文章主要为大家展示了“Android开发入门环境快速搭建实战教程”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发入门环境快速搭建实战教程”这篇文章吧。方法如下:在开始之前,我...
    99+
    2023-05-30
    android
  • TSMaster快速入门篇(2)-报文回放
    支持格式 TSMaster 的数据回放默认支持 blf 格式(未来会增加对其他格式的支持)。如果需要分析其他数据格式的 log 文件,需要通过文件转换器从其他格式转成 blf 格式。 一、离线回放 离线回放也就是通常所说的查看记录报文。离...
    99+
    2023-09-07
    软件工程 汽车 服务器
  • 【PHPWord】PHPOffice 套件之PHPWord快速入门
    目录 一、简介 二、开源协议 三、安装要求 四、快速入门 1. 安装 2. demo 五、总结 ...
    99+
    2023-09-03
    php 开发语言 phpword
  • Quarkus篇入门创建项目搭建debug环境
    目录前言搭建Quarkus项目纯手工方式官网装配器方式IDEA方式编写第一个Quarkus接口启动你的应用并调试前言 在学习一个新的框架技术前,肯定要先来一套hello word,搭...
    99+
    2024-04-02
  • 一小时迅速入门Mybatis之初识篇
    目录一、Mybatis简介二、mybatis入门2.1 创建Maven项目2.2 修改pom文件(引入jar包)2.3 编写xml2.4 编写Java代码2.5 唠唠一、Mybati...
    99+
    2024-04-02
  • springboot基础篇(快速入门 + 完整项目案例)
    目录 1.springboot简介2.REST风格1.简介2.RESTful 3.复制工程4.属性配置1.application.properties2.application.yml、....
    99+
    2023-09-04
    spring boot restful java
  • 简易Golang安装指南:快速搭建开发环境,零基础入门
    Golang安装教程:零基础入门,轻松搭建开发环境,需要具体代码示例 概述:Golang是一种开放源代码的编程语言,旨在提供一种简单、高效和可靠的方式来构建软件。它具有强大的并行化和并发化特性,适用于大型分布...
    99+
    2024-01-24
    Golang 入门 安装教程
  • 一小时迅速入门Mybatis之增删查改篇
    目录一、说明二、开搞2.1 数据库表2.1 创建实体类2.2 创建接口2.3 创建XML2.5 测试类2.6 唠唠一、说明 这二篇涉及到映射Java实体类、面向接口编写Mybatis...
    99+
    2024-04-02
  • Java基础入门篇之如何使用For循环
    这篇文章主要讲解了“Java基础入门篇之如何使用For循环”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java基础入门篇之如何使用For循环”吧! 一、for循环语句在java中...
    99+
    2023-06-15
  • MyBatis持久层框架详细解读:MyBatis快速入门篇
    文章目录 1. 前言 2. JDBC 存在的缺点 3. MyBatis 优化 4. MyBatis 快速入门 5. 总结 Java编程基础教程系列 1. 前言 JavaEE...
    99+
    2023-09-06
    mybatis java mysql maven
  • Linux快速入门打开你的学习之道
    相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢?首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣,有的人是因为Linux比较好找工作,兴趣...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作