Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)
原文:Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)
1.双11抢购搬瓦工VPS.配置如下:
- CPU:2 核
- 内存:2048 MB
- 硬盘:40 GB SSD
- 流量:1 TB
- 带宽:1 Gbps
2.VPS安装Centos7-x86_64-bbr系统(bbr 是为了加速科学上网)
3.开启80端口
CentOS7打开80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld.service
如果上述命令无法找到的话,使用以下命令
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart
4.安装Apache
安装之前都要记得,先执行update
yum update
安装Apache
yum install httpd httpd-devel
安装完成之后启动Apache
systemctl start httpd.service
访问IP,成功如下图。
附上Apache几条命令(我已经偷偷设置开机启动)
systemctl start httpd.service #启动Apache systemctl stop httpd.service #停止Apache systemctl restart httpd.service #重启Apache systemctl enable httpd.service #设置Apache开机启动
5.安装.Net Core 2.2(参照官方地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#linuxcentos)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2
安装完成之后,查看信息
dotnet --info
.Net Core 2.2.1的版本,以及安装的路径。
6.VS2017 创建一个MVC程序(参照官方地址:https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/linux-apache?view=aspnetcore-2.2)
直接确定就好。
在Startup.cs类中添加引用:Microsoft.AspNetCore.HttpOverrides;
在Startup.cs类Configure方法中添加代码
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
}); app.UseAuthentication();
发布代码
发布完成之后可以使用命令运行测试 (VPSTest是的项目名称 所以生成了VPSTest.dll) 默认端口为5000
dotnet G:\WebSite\VPSTest.dll
上传代码 我使用FTP上传。上传路径为/var/www/html/MVC 我在Html文件夹里面新建了MVC文件夹 。
在Xshell中执行运行命令
dotnet /var/www/html/MVC/VPSTest.dll
端口5000没有开放 只开放80端口。所以暂时还不能看到效果,出现如图一样的信息就是正常的。
7.配置Apache
在/etc/httpd/conf.d/路径中创建一个名为MVCTest.conf 的配置文件,代码如下
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
ServerName www.xxx.com
ServerAlias *.www.xxx.com
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
其中域名为自己的。没有试过可不可以不填。
测试配置,如果正确会提示 Syntax [OK]
sudo service httpd configtest
重启Apache,就可以访问IP看到效果了,但是断开Xshell之后就挂了。
8.Kestrel 进程守护配置
在/etc/systemd/system/创建服务文件名字为kestrel-MVCTest.service 代码如下:
[Unit]
Description=Example .NET Web API App running on CentOS 7 [Service]
WorkingDirectory=/var/www/html/MVC/
ExecStart=/usr/bin/dotnet /var/www/html/MVC/VPSTest.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production [Install]
WantedBy=multi-user.target
需要注意WorkingDirectory的路径,ExecStart的命令格式(ExecStart dotnet的路径 dll的路径),不对的话会在状态中显示的。
保存该文件并启用该服务,并确认它正在运行
systemctl enable kestrel-MVCTest.service systemctl start kestrel-MVCTest.service systemctl status kestrel-MVCTest.service
启用成功,正常运行。我要去科学上网了。
Centos7安装.Net Core 2.2环境以及部署.Net Core MVC程序(Apache+Jexus环境)的更多相关文章
- centos 配置.Net core 环境并部署dotnet Core文件
一.配置环境[Microsoft dotnet Core] 1) Add the dotnet product feed sudo rpm -Uvh https://packages.microsof ...
- ABP core学习之二 IIS部署.NET CORE
本文是关于IIS部署.NET CORE的总结,以后有碰到问题将陆续添加 IIS部署.NET CORE总结 一.服务器环境 首先确定自己项目的core版本,然后下载对应的包在服务器上安装 下载地址: h ...
- 在Ubuntu 16.04上利用Jexus+.Net Core+Linux版SQL Server部署ZKEACMS.Core
百度传课视频地址:https://chuanke.baidu.com/v5849090-223278-1498090.html 一.SQL Server on Linux的安装 官方文档:https: ...
- linux后台server开发环境的部署配置和验证(nginx+apache+php-fpm+FASTCGI(C/C++))
linux后台server开发环境部署配置 引言 背景 随着互联网业务的不断增多.开发环境变得越来越复杂,为了便于统一server端的开发部署环境,特制定本配置文档. 使用软件 CentOS 6.3( ...
- 在离线环境中使用.NET Core
在离线环境中使用.NET Core 0x00 写在开始 很早开始就对.NET Core比较关注,一改微软之前给人的印象,变得轻量.开源.跨平台.最近打算试着在工作中使用.但工作是在与互联网完全隔离的网 ...
- Centos7 部署.Net Core+Nginx+Supervisor
1.安装.Net Core SDK 1.1. 在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项.这只需要每台机器完成一次. sudo rpm -Uvh https ...
- CentOS7安装搭建.Net Core 2.0环境-详细步骤
一.构建.Net core 2的应用程web发布 因为是用来测试centos上的core 环境,先直接用vs17自带的core实例. 二.部署CentOS7的core环境 1.连接并启动之前安装的虚拟 ...
- 生产环境中CentOS7部署NET Core应用程序
NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. ...
- Centos7安装Docker 基于Dockerfile 搭建httpd运行环境
Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...
随机推荐
- Facebook下载总结
Facebook是美国的一个社交网络服务网站,至今注册用户已超越20亿,月活用户更是惊人的突破3亿. 这样庞大的一个社交类网站,每日产生的社交数据当然也是非常可观,而这些社交数据,更接近口语,所以是比 ...
- 【js基础】判断是否是合法邮箱地址(正则表达式的应用)
2019-01-21 09:11:21 <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...
- Metro界面的真正意义
昨天去客户那给安装防火墙和交换机,因为客户和我们公司签订了维保的合同,然后我们公司两个人去了客户那跟客户沟通也去顺路去做巡检. 客户之前跟我们公司采购了一台DELL的PC服务器,预装了win serv ...
- 关于idea开发工具常用的快捷键
自动补全缺失的import alt+enter 自动优化import ctrl+alt+o 自动补全返回代码:IDEA的ctrl+alt+v ,eclipse的CTRL+F1 main p ...
- Mysql学习总结(6)——MySql之ALTER命令用法详细解读
MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的. [sql] view plaincopy USE learning;(自己要提前建好) CREATE TABLE ...
- windows下plsql 设置 里面timestamp显示的格式
http://blog.csdn.net/cwjcsu/article/details/9216981
- WebCollector爬取百度搜索引擎样例
使用WebCollector来爬取百度搜索引擎依照关键字搜索的结果页面,解析规则可能会随百度搜索的改版而失效. 代码例如以下: package com.wjd.baidukey.crawler; im ...
- easyui datagird 总计栏
在使用easyui 的表格的时.非常多时候须要加一个总计栏,当然easyui中有加总计栏的方法,写一个footer就好,然而我认为这样的方法并不好.由于加入的总计栏是和列表每一个单元格相应的,有长度限 ...
- Log4j2 与 SpringMVC 整合
log4j2不仅仅是log4j的简单升级,而是整个项目的重构.官网地址:http://logging.apache.org/log4j/2.x/,大家能够从官网的介绍看出它相比log4j第1代的种种长 ...
- js--09定时器
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...