文档章节

.net core入门之web应用

weidedong
 weidedong
发布于 2016/09/17 02:38
字数 734
阅读 49
收藏 0

其实铺垫了那么久,终于到重点了,迫不及待了吧,那么我们用重量级工具Visual Studio 2015,安装Update3, 安装DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe,打开Visual Studio 2015 vs模板 vs模板 点击,创建,修改自寄宿代码,

  var host = new WebHostBuilder()
                .UseKestrel()
                .UseStartup<Startup>()
                .UseUrls("http://*:5000/")    //配置监听端口
                .Build();

            host.Run();

编译并发布到开发环境,并上传到服务器/test目录下,执行命令

# cd test
# dotnet WebApplication1.dll
Hosting environment: Production
Content root path: /test
Now listening on: http://*:5000
Application started. Press Ctrl+C to shut down.

访问http://192.168.91.128:5000/ webapplication 可以看到运行成功了,Control+Z取消web网站运行,可知我们的网站运行在bash中,那么web网站 可不可以开机启动,并且异常重启吗? 当然可以,这就用上我们我们上节说到的守护进程了,添加文件WebApplication1.conf

[program:WebApplication1]
command=dotnet WebApplication1.dll ; 运行程序的命令
directory=/test ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/WebApplication1.err.log ; 错误日志文件
stdout_logfile=/var/log/WebApplication1.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行

上传至/etc/supervisord.d,执行命令

# supervisorctl reload
Restarted supervisord

访问http://192.168.91.128:9001/ 输入图片说明 打开/var/log/WebApplication1.err.log,发现 Unhandled Exception: System.AggregateException: One or more errors occurred. (Error -98 EADDRINUSE address already in use) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -98 EADDRINUSE address already in use 由此可知此端口已被占用,查看谁占用了此端口

# ss -lnp | grep 5000
tcp    LISTEN     2      128      :::5000                 :::*                   users:(("dotnet",pid=8210,fd=204))
# kill 8210

发现一直kill不掉,执行命令

# systemctl status 8210
● session-1.scope - Session 1 of user root
   Loaded: loaded
  Drop-In: /run/systemd/system/session-1.scope.d
           └─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf
   Active: active (running) since 六 2016-09-17 05:43:12 CST; 6h ago
   CGroup: /user.slice/user-0.slice/session-1.scope
           ├─ 2262 sshd: root@pts/0
           ├─ 2266 -bash
           ├─ 8210 dotnet WebApplication1.dll
           └─12212 systemctl status 8210
# systemctl kill session-1.scope

访问http://192.168.91.128:9001/ supervisor控制台 排查文章向上,可以看到取Application started. Press Ctrl+C to shut down, 但是我按了Ctrl+Z,实际上没进行shut down

我们都知道nginx是一个轻量级高性能web反向代理服务器,做缓存和负载均衡都很方便, 下面来安装,执行命令

# yum install -y nginx
# systemctl start nginx.service
# systemctl enable nginx.service
# systemctl status nginx.service
# nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2016-09-17 12:59:37 CST; 30s ago
 Main PID: 4197 (nginx)
   CGroup: /system.slice/nginx.service
           ├─4197 nginx: master process /usr/sbin/nginx
           └─4198 nginx: worker process

由此可以看到nginx启动成功了,访问http://192.168.91.128/ nginx配置成功 查看nginx配置文件位置

# nginx -V #查看配置参数
--conf-path=/etc/nginx/nginx.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 -t   #测试配置文件
# nginx -s reload  #重新加载配置文件

将nginx添加至SELinux的白名单。

yum install policycoreutils-python

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

  sudo semodule -i mynginx.pp

访问http://192.168.91.128/ webapplication

© 著作权归作者所有

weidedong
粉丝 4
博文 90
码字总数 28742
作品 0
深圳
私信 提问
solr搜索之入门及原理(一)

solr搜索技术 系列文章: solr搜索之入门及原理(一) solr搜索之demo和集成IKAnalyzer(二) solr搜索之solrJ语法(三) solr搜索之mysql导入数据到solr(四) solr搜索之tomcat运行solr(五...

wyait
2017/07/05
0
0
AWS Cloud将.NET Core支持添加到编码工具中!

  【IT168 资讯】Amazon Web Services Inc.(AWS)云的两个开发工具――AWS CodeStar和AWS CodeBuild,现在已经开始支持.NET Core。   云计算巨头AWS昨天宣布升级到用于开发、构建和部署A...

it168网站
2017/07/13
0
0
.NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/9985451.html 本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到...

依乐祝
2018/11/19
0
0
《Nginx高性能Web服务器》系列分享专栏

《Nginx高性能Web服务器》系列分享专栏 [作者:Poechant] Nginx是目前最流行的基于BSD-like协议、轻量级、高性能的HTTP服务器、反向代理服务器和电子邮件(SMTP/POP3/IMAP)服务器。CSDN的Ngi...

开元中国2015
2018/12/01
0
0
超详细,手把手教你入门.NET for Linux

  【IT168 编译】基本上,当你知道了一个程序员的首选操作系统是什么的同时,你就可以猜测出他们使用的是什么编程语言。例如,如果程序员使用的是Windows,那么他们可能使用的语言列表包括...

it168网站
2017/11/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Datatables插件1.10.15版本服务器处理模式ajax获取分页数据实例解析

一、问题描述 前端需要使用表格来展示数据,找了一些插件,最后确定使用dataTables组件来做。 后端的分页接口已经写好了,不能修改。接口需要传入页码(pageNumber)和页面显示数据条数(pageSi...

OSC首席混子
18分钟前
2
0
基于虹软的Android的人脸识别SDK使用测试

现在有很多人脸识别的技术我们可以拿来使用;但是个人认为还是离线端的SDK比较实用;所以个人一直在搜集人脸识别的SDK;原来使用开源的OpenCV;最近有个好友推荐虹软的ArcFace, 闲来无事就下...

是哇兴哥棒棒哒
28分钟前
0
0
Netty内存池之PoolThreadCache详解

PoolThreadCahche是Netty内存管理中能够实现高效内存申请和释放的一个重要原因,Netty会为每一个线程都维护一个PoolThreadCache对象,当进行内存申请时,首先会尝试从PoolThreadCache中申请,...

爱宝贝丶
41分钟前
16
0
除了Reader、Inbox之外 谷歌“关门部”还关闭了哪些服务或产品?

我们经常调侃称谷歌的“关门部”和微软的“更名部”是 IT 界的两大传奇,那么除了比较熟悉的 RSS 订阅服务 Google Reader、电子邮件服务 Inbox 和 Facebook 竞品 Google+ 之外,你还知道谷歌...

linux-tao
42分钟前
1
0
从B站的代码泄露事件中,我们能学到些什么?

先声明一下,本文不聊ISSUE中的七七八八,也不聊代码是否写的好,更不聊是不是跟蔡徐坤有关之类的吃瓜内容。仅站在技术人的角度,从这次的代码泄露事件,聊聊在代码的安全管理上,通常都需要...

程序猿DD
46分钟前
54
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部