CentOs 7.2 + Nginx 1.10.2 + MusicStore(asp.net core mvc 3 项目)虚拟机完整搭建流程分享

原创辛苦,谢绝转载!

虚拟机说明

搭建这个虚拟机是为了验证Asp.net Core程序在CentOs操作系统上可以运行的。

#软件环境版本枚举
OS:CentOS Linux release 7.2.1511 (Core) 
OS Kernel:Linux version 3.10.0-327.36.3.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016
Nginx:1.10.2
Dotnet:1.0.0-preview2-003121
Git:1.8.3.1

此虚拟机搭建步骤(全程使用root账户,可以在命令前追加sudo)
#更新操作系统,以获得最新的更新组件包
1.yum update -y
#安装微软提供的支持asp.net core的运行环境
2.yum install dotnet -y
#安装Web服务器(此处将Nginx作为返向代理服务器使用,对外发布网站服务)
3.yum install nginx -y
#安装Git工具,用于下载开源的asp.net core测试运行项目。此项目使用mvc 3框架开发
4.yum install git -y
#安装SeLinux鉴权策略辅助工具,用于辅助突破Nginx定转本地端口时linux内核的安全限定机制(可以手动修改,但是复杂度和风险性太高。因为涉及到linux内核,不建议网上找资料手动修改,大神除外!)
5.yum install policycoreutils-python -y
#配置Nginx返向代理
6.gedit /etc/nginx/nginx.conf
#成功运行配置文件配置内容如下:
worker_processes  1;   
#工作进程的个数,可以配置多个
events {  
    worker_connections  1024; #单个进程最大连接数(最大连接数=连接数*进程数)  
}  
http {  
    include       mime.types;  #设定配置文件位置,这里的conf是指nginx.conf所在的目录,也可以用绝对路径指定其他地方的配置文件   
    default_type  application/octet-stream; #默认类型-8进制文件流
    sendfile        on;  #是否激活sendfile()函数,比默认模式更有效率   
    tcp_nopush     on;  #将HTTP响应头压缩到一个包中发送,仅在sendfile开启时才能配合使用 
    #连接超时时间
    keepalive_timeout  65;  
    gzip  on;  #启用Gzip压缩
    #设定虚拟主机,默认为监听80端口   
    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;
        proxy_set_header X-Real-IP $remote_addr;
        }
    }
}
#下载asp.net core运行项目
7.git clone  https://github.com/geffzhang/MusicStore.git
#装载项目运行时需要的动态资源。当前路径必须定位到下载的项目文件根目录。
8.dotnet restore
#更新装载的最新资源信息,匹配asp.net core项目强制版本依赖,让项目关联最新的下载资源
9.dotnet pack
#编译项目源代码生成项目dll文件以及其它项目依赖性资源。当前路径必须定位到bin文件夹同级根目录下。
10.dotnet build
#生成发布项目文件。可以理解为生成Release版本文件。执行上面步骤后,是可以直接运行的,但是上面步骤生成的dll内涵Debug信息,会影响项目实际运行的响应效率。当前路径必须定位到bin文件夹同级根目录下。
10.dotnet publish
#运行外宿主项目。运行成功后,dotnet宿主会提供默认为5000端口的内部可访问地址(http://localhost:5000)。当前路径必须定位到bin文件夹同级根目录下。
11.dotnet run
#构建基于修改SeLinux内核的授权变更脚本。生成基于当前机器对应内核版本号的定制化,用pyhton语言编写的定制内核授权脚本,基本上不可移植使用。也有例外。
12.sudo cat /var/log/audit/audit.log |grep nginx |grep denied |audit2allow -M mynginx
#执行授权脚步。如果不执行脚步的话,访问Nginx地址会报502 bad gateway错误。执行后不会出现。
13.semodule -i mynginx.pp
#启动Nginx服务
14.service nginx start
#添加5000端口到系统防火墙的白名单中。可以不开启5000端口,这样就可以屏蔽掉外网直接访问。但是调试阶段建议开启
15.iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
#添加80端口到系统防火墙的白名单中
16.iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#保存防火墙配置
17.iptables save
#重启防火墙服务,使上面追加的白名单端口生效。不重启端口可能访问被积极拒绝
18.service iptables restart
#访问Nginx完整URL地址。外网可访问的最终地址。
19.http://192.168.1.12:80

#--------(Tech-Worm) 2016-11-30

时间: 2024-10-08 11:13:21

CentOs 7.2 + Nginx 1.10.2 + MusicStore(asp.net core mvc 3 项目)虚拟机完整搭建流程分享的相关文章

使用 Nginx 在 Linux 上托管 ASP.NET Core

1.官网地址https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.2 2. 原文地址:https://www.cnblogs.com/Spinoza/p/11601020.html

ASP.NET Core 缓存技术 及 Nginx 缓存配置

前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx的反向代理来降低我们后端应用程序的压力.那除了以上两点之外,其实我们还可以利用代理服务器的缓存功能来进一步的降低后端应用程序的压力,提升系统的吞吐量(tps).这一篇就来看一下具体应该如何去做吧. 目录 WEB 缓存 ASP.NET Core 缓存 内存缓存 分布式缓存 Response 缓存 Ng

使用 Nginx 在 Ubuntu 16.04 上托管 ASP.NET Core

使用 Nginx 在 Ubuntu 16.04 上托管 ASP.NET Core 准备工作 服务器主机:腾讯云主机 Ubuntu 16.04 64位 客户端软件:putty.exe; WinSCP 5.13.2 在 Ubuntu 中安装 ASP.NET Core 微软在 .NET Core指南 提供了在不同操作系统中安装运行 ASP.NET Core 的帮助文档,请选择 linux-prerequisites 部分,并找到和自己服务器所安装操作系统相同的内容进行安装即可. 注册Microsoft

CentOS ASP.NET Core Runtime Jexus跨平台布署

.net core 开源和跨平台,能布署到当前主流的Windows,Linux,macOS 系统上.本篇我们将在 Linux 系统上使用 ASP.NET Core Runtime 和 Jexus 布署运行 ASP.NET Core 网站. Linux 系统选的是 CentOS 7.4 64位 .NET Core 安装的是 ASP.NET Core Runtime 2.1(当时最新),其实也可以安装.NET Core SDK,但没有必需,运行环境 Runtime 就OK了. Jexus 用的是 5

10个小技巧助您写出高性能的ASP.NET Core代码

今天这篇文章我们来聊一聊如何提升并优化ASP.NET Core应用程序的性能,本文的大部分内容来自翻译,当然中间穿插着自己的理解,希望对大家有所帮助!话不多说开始今天的主题吧! 我们都知道性能是公共网站取得成功的关键因素之一.如果一个网站的响应时间超过3秒,那么用户通常不会再此光顾(此网站).谷歌,Bing,百度以及其他搜索引擎也更倾向于推荐优化后的,移动友好的以及响应速度更快的网站. 作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/10507984.

Asp.Net Core 发布到 Docker(Linux Centos 虚拟机,使用Dockerfile)

实践一下 Asp.Net Core (基于.net core 2.2)部署到Docker 一.准备工作: 1. 使用Virtualbox创建一个Centos系统的虚拟机,并安装docker和vim 2. 配置好端口(如下图,后面需要使用) 3. 准备一个网站发布包(我采用的默认的Asp.Net Core MVC),windows发布时的配置(也可以在linux上进行发布),将发布包放入linux虚拟机(我的路径是:/root/Root/DefaultHttp/publish) 4. 测试一下发布

nginx 1.10 +php5.6 php-fpm

nginx 1.10.1-1.el6.ngx rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm yum -y install nginx CentOS 6.5的epel及remi源 # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noar

centos 7.0 nginx 1.7.9成功安装过程

centos 7.0根目录 的目录构成 [[email protected] /]# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib media opt root sbin sys usr 首先下载 nginx 官网 http://nginx.org/en/download.html 由于不太熟悉centos 7.0 的目录 先直接安装到usr目录下 usr/local/src [[email protected] /]# cd

(转) centos 7.0 nginx 1.7.9成功安装过程

centos 7.0根目录 的目录构成 [[email protected] /]# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib media opt root sbin sys usr 首先下载 nginx 官网 http://nginx.org/en/download.html 由于不太熟悉centos 7.0 的目录 先直接安装到usr目录下 usr/local/src [[email protected] /]# cd