2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > linux 网站发asp布 Linux下部署发布Asp.net Core 2.0网站

linux 网站发asp布 Linux下部署发布Asp.net Core 2.0网站

时间:2024-03-20 00:43:27

相关推荐

linux 网站发asp布 Linux下部署发布Asp.net Core 2.0网站

开发环境:

Windows 10 Pro

Visual Studio Community

Nodejs

服务器:

CentOS Linux release 7.4.1708(Core)

Apache

Nodejs

1. 开发环境准备:

1.1在/ 下载安装Visual Studio Community版本(社区免费版)

选择.Net Core Cross-Platform development 组件进行安装

image.png

image.png

1.2 在/ 下载安装Windows 版的 Nodejs

image.png

2.创建 Core 2.0 Angular应用,这里用自带的模板即可

image.png

image.png

image.png

3.发布应用

点击右键,选择Publish

image.png

选择发布到文件夹

image.png

image.png

这里要注意的是如果发布失败,重启应该可以解决。

同时记下文件夹

c:/users/admin/source/repos/AngularApp/AngularApp/bin/Release/PublishOutput

4.Linux部署

先用Bitvise 连接已经部署好CentOS 7的服务器,Bitvise 默认会打开一个Terminal 和一个用于文件传输的SFTP窗口

image.png

image.png

4.1 安装Dotnet

image.png

根据这里的说明安装/net/learn/get-started/linuxcentos

image.png

4.1.0 先用root登陆

sudo su -

![image.png](http://upload-images.jianshu.io/upload_images/5258872-ffddc2f6e2140aa5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

4.1.1 添加.net源

sudo rpm --import /keys/microsoft.asc

~~~bash

sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= /yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

image.png

4.1.2 安装.net core 2.0 SDK

sudo yum update

image.png

中间有个确认,这里要等很久。。。

sudo yum install libunwind libicu

安装SDK

sudo yum install dotnet-sdk-2.1.3

4.2 安装Nodejs

sudo yum install epel-release

sudo yum install nodejs

sudo yum install npm

看下版本号

node --version

4.3 安装Apache

sudo yum update -y

sudo yum -y install httpd mod_ssl

查看apache路径

whereis httpd

4.4 配置环境

4.4.1 创建配置文件 AngularApp.conf

image.png

image.png

4.4.2 上传配置文件

4.4.2.1 找到Apache 配置文件路径/etc/httpd

image.png

4.4.4.2 打开Bitvise 的SFTP从本地 AngularApp.conf 到服务器的tmp文件夹中

image.png

4.4.4.3 打开Terminal用命令行把tmp文件夹中的AngularApp.conf移动到Apache文件夹中

mv /tmp/AngularApp.conf /etc/httpd/conf.d

4.4.3 上传之前打包好的.Net Core 2.0应用AngularApp

4.4.3.1 点击右键,使用SFTP在tmp文件夹里创建一个AngularApp文件夹,把发布的文件拖拽到AngularApp文件夹里

image.png

4.4.3.2 把AngularApp移动到/var/www目录里

mv /tmp/AngularApp /var/www

image.png

如果看不到可以点下刷新

image.png

4.4.4 创建一个服务文件,用来启动.Net Core 2.0的应用,另存为kestrel-AngularApp.service

同样打开记事本,创建一个新的文件[图片上传中...(image.png-520d41-1514966781776-0)]

[Unit]

Description=Example .NET Web API Application running on CentOS 7

[Service]

WorkingDirectory=/var/www/AngularApp

ExecStart=/usr/bin/dotnet /var/www/AngularApp/AngularApp.dll

Restart=always

# Restart service after 10 seconds if dotnet service crashes

RestartSec=10

SyslogIdentifier=dotnet-example

User=apache

Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]

WantedBy=multi-user.target

image.png

image.png

4.4.3 上传服务文件 到 /etc/systemd/system/

4.4.3.1 因为SFTP没权限,还是先放到/tmp文件夹下

image.png

4.4.3.2 移动到系统文件夹

mv /tmp/kestrel-AngularApp.service /etc/systemd/system/

image.png

4.5 启动应用

4.5.1 配置 Apache 启动

sudo service httpd configtest

4.5.2 重启Apache

sudo systemctl restart httpd

sudo systemctl enable httpd

4.5.3 启用服务

systemctl enable kestrel-AngularApp.service

4.5.4 打开并查看服务状态

systemctl start kestrel-AngularApp.service

systemctl status kestrel-AngularApp.service

image.png

4.5.5 安装防火墙firewalld并打开80端口

sudo yum install firewalld -y

sudo firewall-cmd --add-port=80/tcp --permanent

sudo firewall-cmd --add-port=443/tcp --permanent

4.6 SSL 配置

sudo yum install mod_ssl

sudo yum install mod_rewrite

修改AngularApp.conf 加入ssl端口配置

RewriteEngine On

RewriteCond %{HTTPS} !=on

RewriteRule ^/?(.*) https://%{SERVER_NAME}/ [R,L]

ProxyPreserveHost On

ProxyPass / http://127.0.0.1:5000/

ProxyPassReverse / http://127.0.0.1:5000/

ErrorLog /var/log/httpd/hellomvc-error.log

CustomLog /var/log/httpd/hellomvc-access.log common

SSLEngine on

SSLProtocol all -SSLv2

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:!RC4+RSA:+HIGH:+MEDIUM:!LOW:!RC4

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

重启Apache服务

sudo service httpd configtest

sudo systemctl restart httpd

5. 从浏览器打开服务器的地址,就可以看到AngularApp已经成功部署完毕。

image.png

其他设置可以参考官网

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。