本文意在教大家如何在 Linux 上部署 net core web 项目, 本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点.
一: 需要用到的东西如下:
1: 一个基于 net core 框架下的 Web 项目, 可以是 MVC 也可以是 webapi 可以自己选择, 目前为了简单部署我用的是一个 MVC 项目, 同时为了方便演示我们这里添加一句代码指定默认端口为 5000, 当然这个也可以自己定, 和其它端口不起冲突就行.
2: 一台 Linux 服务器, 可以是阿里云或者腾讯云或者虚拟机下都可以实现, 大家可根据自己的情况选择适合自己的服务器, 我选择的是一台阿里云服务器.
3: 打包发布我们的 Web 项目操作如下图, 发布的操作和 fw 下是一样的发布到文件系统, 需要注意的是目标运行时需要选择 Linux 版本就可以了.
4: 接下来需要把我们项目文件拷贝到服务器上运行, 我们用的是 Winscp 工具.
(1): 在 root 目录下新建一个文件夹 dotnet 把发布的项目文件通过 Winscp 拷贝到该目录下.
(2): 接下来我们需要通过命令启动项目, 那么我们可以使用 Xshell 工具远程连接到我们的服务器上通过控制台启动, 连接成功如下.
(3) 通过命令 cd 到 publish 目录输入命令: dotnet + 项目. dll 即可, 如出现下图则说明项目部署成功.
5: 此时项目已运行成功, 但是外网不能访问, 所以我们得安装配置 Nugix 替代之前的 IIS 进行方向代理
(1): 安装 Nugix 命令,
- wget http://nginx.org/download/nginx-1.0.14.tar.gz
- tar zxvf nginx-1.0.14.tar.gz
- ./configure --with-http_stub_status_module --prefix=/opt/nginx
- cd nginx-1.0.14
- make
- make install
(2) 最重要的是安装成功之后需要更改配置文件命令入下:
- cd /usr/local/nginx/conf
- VIM nginx.conf
3: 按 i 即可进入编辑状态, 更改 listen 端口和 server_name 服务器地址即可, 其它不用改.
4: 更改好了之后输入 :wq 即可保存并退出编辑.
5:VIM nginx.conf 输入命令查看配置是否修改成功
6: /usr/local/nginx/sbin/nginx -s reload 输入命令重新加载配置文件
6:cd 到项目跟目录重新启动项目:
7: 在浏览器输入你外网地址 + 端口即可访问你的项目.
7: 需要注意的是 如果你外网访问不了的话, 需要检查你的端口是否开放, 防火墙是否打开.
以上为个人实践中遇到的问题和一些实现步骤, 有啥问题欢迎各位大佬指正.
来源: https://www.cnblogs.com/huangweiming/p/12790778.html