2017-03-05 CentOS中结合Nginx部署dotnet core Web应用程序
Visual Studio Live 倒计时2天,当然这是美国倒计时两天,中国应该是在3月8日的凌晨,正值"3.8妇女节"。提前祝广大的女性同志节日快乐,当然还有奋斗在一线的程序媛们。
言归正传,在昨天的dotnet core Web发布到Linux中,遗留的问题,我们继续探讨。首先了解下Nginx是什么,这个我也并不是很了解,记得在前段时间,在看H5移动开发的时候,用到过,但也并没有深入研究。先看下来自百度百科的解释:
实际上这就是一个轻量级的服务器,Web服务器、反向代理服务器、电子邮件代理服务器,看来还是很强大的,那在今天的内容中,毫无疑问,它担任的是Web服务器的角色了,相当于我们的IIS服务器了,亦或是Tomcat服务器,属于轻量级。这样看的话,我们就无需惧怕它了。
首先我们来安装和启动Nginx服务,以下是安装和启动的步骤:
#1.下载Nginx包
curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#2.建立Nginx的yum仓库
rpm -ivh nginx.rpm
#3.下载并安装Nginx
yum install nginx
#4.启动Nginx服务
systemctl start nginx
#5.将nginx服务设为开机启动,这样当服务器重启也就不用手动启动服务了
systemctl enable nginx
看到这些命令行,真的是有点头大,昨天因为一些符号的问题,搞出很多错,所以大家一定要小心,下面我们按照上面的步骤进行安装:
这时nginx服务已经安装成功了,可以使用 nginx -v 命令查看版本,这里的版本是1.10.3,如果此时输入服务器的地址,那么应该可以看到Nginx的页面,默认是用的80端口,访问我自己的服务器,测试一下,大鸭梨博客,开始的时候我没有访问到,查看了下防火墙,没有把80端口开放,具体的如何开放,在上一篇博客中已经提到了,注意添加完规则后执行下reload重新应用规则,同样对nginx
服务也一样,当修改内容也要reload一下,以免出现不必要的麻烦 nginx -s reload ,具体的命令大家自行查找吧。当我添加上80端口后,重新运行,终于看到了我们想要的内容:
下面开始配置我们的nginx服务,实际上端口的转发,将我们Web应用的5000端口转发到80端口,我们需要找到一个.conf文件,在里面进行相应的配置,路径为:/etc/nginx/conf.d/default.conf ,我们先看下这个配置文件里的内容:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
#后面的都是一些注释,里面加了一些默认的配置,具体怎么解释还是自己再查相应的资料吧,我们将其全部删掉,替换成我们要修改的内容,具体内容如下:
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;
}
}
可以看到我们将地址指向了我们的Web应用。配置完成后我们在putty里面直接查看是否修改成功,以防万一,
reload时报了个错误,注意location后面的写法“location / ”,斜杠前后都有空格,不知道怎么拷贝的时候没了,注意下,重新修改了下Ok了,我们现在去启动下Web,看是否能转发成功,期待一下。
其实是没有悬念的事,这么认真肯定是可以成功的,鼓掌!!!
那么问题又来了,我们总不能一直让这个黑色窗口开着吧,未必有点太low了,像我们强大的IIS就不会出这么个丑陋的窗口,一直是默默的为我们的服务,这篇博客就是写这么多吧,这个问题就留到下面博客中去说,以免内容太多,产生审美疲劳。
扫描二维码关注我的公众号,共同学习,共同进步!
2017-03-05 CentOS中结合Nginx部署dotnet core Web应用程序的更多相关文章
- CentOS 7 Nginx部署.NET Core Web应用
部署.NET Core运行时 必要前提 在安装.NET Core前,需要注册Microsoft签名秘钥并添加Microsoft产品提要,每台机器只需要注册一次,执行如下命令: sudo rpm -Uv ...
- nginx部署dotnet core站点
步骤 aspnetcore程序端口号5001,实际外部端口号8001,相当于把8001收到的请求转发给5001. 把发布出来的文件全部丢掉 /var/www/JuXiangTou 里面去.可以用scp ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (三) 部署运行WEB API项目
部署dotnet Core Web API 上一步的文章,是我们公司最核心的一个ORM组件,在中标麒麟系统完成了一个插入数据的任务,这一步是将正式的从dot net framework 迁移到 dot ...
- Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站
前言 本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK.创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目. 安装 .NET ...
- 2017-03-05 CentOS中配置守护服务(Supervisor)监听dotnet core web程序的运行
我们继续解决上篇博客的问题,我这个人有个毛病,不喜欢遗留什么问题,也不喜欢问题说不明白,具体要怎么解决一定要详尽,因为经常自己遇到问题的时候,去翻别人的博客,就会遇到这样的问题,很苦恼,又说废话了. ...
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
[C#]使用 C# 代码实现拓扑排序 目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...
- 国产中标麒麟Linux部署dotnet core 环境并运行项目 (二) 部署运行控制台项目
背景 在上一篇文章安装dotnet core,已经安装好dotnet core了.之前只是安装成功了dotnet, 输入dotnet --info,可以确认安装成功了,但是在运行代码时,还是报错了,本 ...
- 部署Dotnet Core应用到Kubernetes(一)
最近闲了点,写个大活:部署Dotnet应用到K8s. 写在前边的话 一直想完成这个主题.但这个主题实在太大了,各种拖延症的小宇宙不时爆发一下,结果就拖到了现在. 这个主题,会是一个系列.在这个 ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
随机推荐
- Vue.js中css的作用域
Vue.js中的css的作用域问题: 如果在vue组件下的style中定义样式,效果会作用于整个html页面,如果只想本组件的css样式只作用于本组件的话,在<style>标签里添加sco ...
- 【题解】Zap(莫比乌斯反演)
[题解]Zap(莫比乌斯反演) 裸题... 直接化吧 [P3455 POI2007]ZAP-Queries 所有除法默认向下取整 \[ \Sigma_{i=1}^x\Sigma_{j=1}^y[(i, ...
- CentOS 7.4系统优化/安装软件
源改为国内源 阿里云yum源 https://opsx.alibaba.com/mirror 清华yum源 https://mirrors.tuna.tsinghua.edu.cn/ 网易163yum ...
- Python3.6全栈开发实例[004]
4.计算传入函数的字符串中, 数字.字母.空格以及其他内容的个数,并返回结果. s1 = 'wan%$#(gwdwq\nwdhuaiww3 w02041718' def func1(s1): dic ...
- Oracle ErrorStack 使用和阅读具体解释
一.概述 在Oracle数据库执行过程中,我们常常会遇到这样或那样的错误.可是错误的提示并不详细,加大了我们在诊断问题时的难度. ErrorStack是Oracle提供的一种对于错误堆栈进行跟踪的方法 ...
- 运行 Tomcat, 在 Intellij IDEA 控制台输出中文乱码的解决方法
打开 Run/Debug Configurations → Tomcat Server → 要运行的 Tomcat → Server 页签,在 VM options 中输入: -Dfile.encod ...
- Tomcat日志备份脚本
#!/bin/bash #Author:fansik #Description:backup tomcat logs #Date:-- directory=/usr/local/tomcat/logs ...
- Python2 socket TCPServer 多线程并发 超时关闭
在阿里云上测试过,可以直接使用. 用IP和端口发送数据,会返回echo:+接收到的数据 #coding=utf-8 import socket import threading,getopt,sys, ...
- Nexus Repository Manager 使用笔记
在使用maven是,因内外网限制往往需要配置自由的maven库,小编看见网上教程数不胜数,遍主动试试 以下是下载地址 : http://www.sonatype.com/download-oss-so ...
- 算法寒假实习面试经过之 滴滴(电话一面二面 offer)
一面:1h 介绍比赛项目. lr与xgb的区别? xgb 为什么不用归一化,onehot? xgb 与 gbdt的区别. 做这些比赛你们的优势在哪,既然全是相同的套路. RCNN的原理, CNN的原理 ...