Abp vNext 部署到 Ubuntu 服务器

1.虚拟机安装ubuntu 18.04 lts  安装最后时候有个 open ssh  注意勾上

2.先创建个 root 账号 (我是为了一会往上放文件时候得有root权限)

3.装.net core linux 那一套

4. 装nginx 用来转发

5. supervisor  守护进程(就是你关上屏幕也能让程序一直跑)

这里多说一句,我这里前端是react的项目,在.net core startup.cs文件里配置了前端打包好文件的地方

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_microsoft

使用到的软件

1. 虚拟机 VMware

2. Putty  和xshell之类的差不多(我是因为虚拟机没法复制粘贴了)

3. winscp  我是windows 往 ubuntu传文件用的

成功截图- -

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_ubuntu_02

具体步骤

1.putty 连接到你虚拟机的ubuntu,然后 sudo passwd root,会提示你输入当前账号密码,然后会提示设置root密码,你设置就行

2.设置完root账户之后,你putty关掉,然后用root 登录,会发现访问失败,这时候再设置root账号ssh登录

3.  sudo  vim /etc/ssh/sshd_config  => 找到 

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_ubuntu_03

  然后 按i 把这个前面的#去掉,然后改成 PermitRootLogin yes  =》esc  :wq! 命令保存(提示失败的话,用su) =》 systemctl restart sshd.service  (重启服务)

 =》 安装 .net core 

18.04 ✔️

使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。

打开终端并运行以下命令:

Bash复制

wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装 SDK

.NET Core SDK 使你可以通过 .NET Core 开发应用。 如果安装 .NET Core SDK,则无需安装相应的运行时。 若要安装 .NET Core SDK,请运行以下命令:

Bash复制  

sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-3.1

安装Nginx(这是为了转发一下服务,让你从主机访问到时候方便,非必要)

安装反向代理 Nginx(可选)

安装nginx

sudo apt-get update
sudo apt-get install nginx

修改nginx配置( /etc/nginx/sites-available/default )  (本文章作者:javascript:void(0))

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

sudo service nginx restart

安装supervisor 

sudo apt-get update
sudo apt-get supervisor

启动 supervisor

sudo service supervisor

4.这时候winscp  用root账户登录就行了 

5.你windows上的项目确保能跑,然后发布=》 目标运行时最好选linux x64的

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_ubuntu_04

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_nginx_05

6.

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_ubuntu_06

直接复制粘贴过去就行了

7.putty  直接 dotnet  那个.dll 文件,就能跑了,不过这里关闭窗口不运行了就,你装那个守护进程就OK了

Asp.net core 3.x 部署到虚拟机中的Ubuntu 18.04 LTS  前端也部署到ubuntu_microsoft_07

8. 这时候 windows (主机)上就能访问页面了, 就是你这个虚拟机的IP地址, ubuntu里 ifconfig 可见你那个ip,然后主机 输入ip就行了