当前位置 : 主页 > 操作系统 > centos >

Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

来源:互联网 收集:自由互联 发布时间:2023-07-28
下面是CentOS7系统下搭建.NETCore2.0+Nginx+Supervisor环境的完整攻略。 1. 安装.NET Core 2.0 首先,我们需要在CentOS 7上安装.NET Core 2.0,采用的是官方提供的yum源方式安装。具体命令如下: sudo r

下面是CentOS7系统下搭建.NETCore2.0+Nginx+Supervisor环境的完整攻略。

1. 安装.NET Core 2.0

首先,我们需要在CentOS 7上安装.NET Core 2.0,采用的是官方提供的yum源方式安装。具体命令如下:

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'
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.0

执行完毕后,可以通过运行以下命令验证.NET Core是否成功安装:

dotnet --version

如果输出了.NET Core 2.0的版本信息,则安装成功。

2. 安装Nginx

接下来,我们需要安装Nginx作为我们的Web服务器。可以执行以下命令来安装:

sudo yum install epel-release
sudo yum install nginx

安装完成后,可以使用以下命令来启动Nginx服务:

sudo systemctl start nginx

如果Nginx启动成功,可以在浏览器中输入服务器的IP地址,即可看到Nginx的欢迎页面。

3. 配置Nginx反向代理

接下来,我们需要将Nginx配置为反向代理,以便我们的.NET Core应用程序可以通过Nginx进行访问。在/etc/nginx/conf.d/目录下,新建一个名为myapp.conf的文件,并加入以下内容:

server {
    listen        80;
    server_name   example.com;
    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;
    }
}

上面的配置指令会将所有的HTTP请求都代理到本地的5000端口,即我们将在下一步中为.NET Core应用程序创建的Kestrel服务器所使用的端口。

自由互联热门推荐:PDF电子发票识别软件,一键识别电子发票并导入到Excel中!10大顶级数据挖掘软件!人工智能的十大作用!

重新加载配置文件,以便Nginx重新启动并从新的myapp.conf文件中读取配置:

sudo nginx -s reload
4. 安装Supervisor

为了方便管理.NET Core应用程序,我们使用Supervisor将其作为后台服务启动。可以使用以下命令来安装Supervisor:

sudo yum install supervisor
5. 具体的.NET Core应用程序

在这个示例中,我们将编写一个简单的ASP.NET Core Web应用程序,并将其部署到我们的服务器上。在服务器上的任意位置上使用以下命令创建一个名为myapp的ASP.NET Core项目:

dotnet new web --name myapp --output /var/www/myapp

通过将ASP.NET Core应用程序的根目录指定为/var/www/myapp,我们完成了应用程序的创建。

接下来,我们需要设置Supervisor来自动启动并管理我们的应用程序。在/etc/supervisor/conf.d/目录下,创建一个名为myapp.conf的文件,并加入以下内容:

[program:myapp]
command=/usr/bin/dotnet /var/www/myapp/myapp.dll
directory=/var/www/myapp
autostart=true
autorestart=true
startretries=3
stdout_logfile=/var/log/myapp.log
stderr_logfile=/var/log/myapp.err.log
stdout_logfile_maxbytes=5MB
stderr_logfile_maxbytes=5MB

其中,myapp表示应用程序的名称,command项指定了我们的应用程序的启动命令,directory项指定了应用程序的根目录,stdout_logfile和stderr_logfile分别指定了应用程序的标准输出和错误输出的日志文件路径。

重新加载配置文件以启动Supervisor管理服务:

sudo systemctl reload supervisord

重启Supervisor以应用新配置:

sudo systemctl restart supervisord

现在,应用程序应该已经在后台运行了。可以使用以下命令来查看当前正在运行的Supervisor服务:

sudo supervisorctl status
6. 验证

最后,我们需要验证在如上几个步骤中安装的所有服务是否都已正确配置。在浏览器中输入服务器的IP地址,即可访问我们的ASP.NET Core应用程序了。可以从应用程序的日志文件中获取详细的错误信息,并在必要时进行调试。

以上就是CentOS 7下搭建.NETCore2.0+Nginx+Supervisor环境的完整攻略。

网友评论