服务器设置和教程 · 5 10 月, 2024

CentOS 7 下部署 .NET Core 2.0+Nginx+Supervisor+MySQL 環境

CentOS 7 下部署 .NET Core 2.0 + Nginx + Supervisor + MySQL 環境

在當今的網絡開發中,.NET Core 作為一個跨平台的開發框架,越來越受到開發者的青睞。本文將介紹如何在 CentOS 7 環境下部署 .NET Core 2.0,並結合 Nginx、Supervisor 和 MySQL,構建一個穩定的應用環境。

前期準備

在開始之前,確保你的 CentOS 7 系統已經更新到最新版本。可以使用以下命令進行更新:

sudo yum update -y

接下來,安裝一些必要的工具和庫:

sudo yum install -y wget curl

安裝 .NET Core 2.0

首先,添加 Microsoft 的包存儲庫:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/prod.repo

然後,安裝 .NET Core SDK 和運行時:

sudo yum install -y dotnet-sdk-2.0.0

安裝完成後,可以使用以下命令檢查 .NET Core 是否安裝成功:

dotnet --version

安裝 MySQL

接下來,我們需要安裝 MySQL 數據庫。首先,添加 MySQL 的 Yum 存儲庫:

sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

然後,安裝 MySQL:

sudo yum install -y mysql-community-server

啟動 MySQL 服務並設置開機自啟:

sudo systemctl start mysqld
sudo systemctl enable mysqld

安裝完成後,使用以下命令獲取臨時密碼:

sudo grep 'temporary password' /var/log/mysqld.log

使用該密碼登錄 MySQL 並設置新的密碼:

mysql -u root -p

安裝 Nginx

接下來,我們需要安裝 Nginx 作為反向代理服務器:

sudo yum install -y epel-release
sudo yum install -y nginx

啟動 Nginx 並設置開機自啟:

sudo systemctl start nginx
sudo systemctl enable nginx

配置 Supervisor

Supervisor 是一個進程管理工具,可以幫助我們管理 .NET Core 應用的運行。首先,安裝 Supervisor:

sudo yum install -y supervisor

啟動 Supervisor 並設置開機自啟:

sudo systemctl start supervisord
sudo systemctl enable supervisord

接下來,創建一個 Supervisor 配置文件來管理你的 .NET Core 應用:

[program:myapp]
command=/usr/bin/dotnet /path/to/your/app.dll
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log

保存配置後,更新 Supervisor 配置:

sudo supervisorctl reread
sudo supervisorctl update

配置 Nginx 反向代理

最後,配置 Nginx 以反向代理到你的 .NET Core 應用。編輯 Nginx 配置文件:

sudo vi /etc/nginx/conf.d/myapp.conf

添加以下內容:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

保存並退出後,檢查 Nginx 配置是否正確:

sudo nginx -t

如果沒有錯誤,重新啟動 Nginx:

sudo systemctl restart nginx

總結

通過以上步驟,我們成功在 CentOS 7 上部署了 .NET Core 2.0 環境,並配置了 Nginx、Supervisor 和 MySQL。這樣的架構不僅能夠提高應用的穩定性,還能夠有效地管理和擴展應用。如果你需要進一步的支持或尋找合適的 VPS 解決方案,請訪問我們的網站以獲取更多信息。