- 在CentOs系统中安装GUI图形界面(可选)
- 在命令行下输入下面的命令来安装Gnome包
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
- 更新系统的运行级别
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
- 重启机器。启动默认进入图形界面
reboot
- 在CentOs系统中安装.Net Core Sdk、Nginx
- 打开命令行,输出以下命令,注册Microsoft需要的依赖环境
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
-
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc">/etc/yum.repos.d/dotnetdev.repo'
- 安装.NET SDK
- 更新可用的安装包:
sudo yum update
- 安装.NET需要的组件:
sudo yum install libunwind libicu
- 安装.NET SDK(dotnet –version查看开发环境的版本):
sudo yum install dotnet-sdk-2.1
- 安装完成之后,检测是否安装成功:
dotnet --version
- 更新可用的安装包:
- 使用VS发布ASP.NET Core MVC程序
- 进入项目解决方案所在文件夹
- 按住shift+右键,打开命令窗口
- 执行dotnet publish自动发布
- 发布文件目录:\bin\Debug\netcoreapp2.1\publish
- 使用WinSCP传输发布文件到CentOS服务器 (root/publish) ;附WinSCP下载地址: https://winscp.net/eng/download.php
- 安装配置Nginx进行反向代理
- 安装CentOS的 EPEL仓库:
yum install epel-release
- 安装Nginx:
yum install nginx
- 启动Nginx:
systemctl start nginx
- 设置系统默认启动Nginx:
systemctl enable nginx
- 查看防火墙状态:
systemctl status firewalld
- 启动防火墙:
systemctl start firewalld
- http通过:
firewall-cmd --permanent --zone=public --add-service=http
- https通过:
firewall-cmd --permanent --zone=public --add-service=https
- 重启Nginx:
firewall-cmd --reload
- 在浏览器地址栏输入你服务器的IP地址, 如果出现图形表示Nginx安装配置成功;
- 如果无法访问, 请查看firewall 是否开放80端口:
- 开放80端口:firewall-cmd --zone= public --add-port= 3306 /tcp --permanent
- 重启防火墙:systemctl restart firewalld.service
- 安装CentOS的 EPEL仓库:
- 修改Nginx的配置文件(root/)
- 把Nginx的默认配置文件 /etc/nginx/nginx.conf 里 80 端口转发配置 server 节点用 # 符注释掉(将 nginx.conf 文件下载到本地修改完成后在上传,注意:不能使用记事本编辑)
- 重新创建一个自定义的Nginx配置文件用来代理Core程序, 名称为nginxforcore.conf配置文件内容如下:
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; } }
- 将创建好的自定义配置文件上传到 /etc/nginx/conf.d目录下
- 执行命令,重启Nginx
nginx –s reload
- 把Nginx的默认配置文件 /etc/nginx/nginx.conf 里 80 端口转发配置 server 节点用 # 符注释掉(将 nginx.conf 文件下载到本地修改完成后在上传,注意:不能使用记事本编辑)
- 在CentOs系统中运行.NET Core
- cd到发布目录: cd \publish
- 运行.Net Core程序: dotnet HelloWorld.dll (helloWorld.dll是你发布出来编译过的项目)
- 浏览器访问服务器外网地址