如何将.NET API与MySQL部署到Linux服务器?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要将.NET API与MySQL部署到Linux服务器,可以按照以下步骤操作。此过程包括准备.NET API应用程序、配置MySQL数据库以及在Linux服务器上完成部署。
dotnet publish -c Release -o ./publish
这会将编译后的文件输出到./publish
目录。
在项目的根目录下创建一个Dockerfile
,用于定义容器化环境。示例如下:
# 使用官方的.NET运行时镜像作为基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
# 复制发布文件到容器中
FROM base AS final
COPY ./publish .
ENTRYPOINT ["dotnet", "YourApiProject.dll"]
YourApiProject.dll
为实际生成的DLL文件名。EXPOSE 80
表示API服务将监听80端口。docker build -t your-api-image:v1.0 .
docker run -d -p 8080:80 your-api-image:v1.0
访问http://localhost:8080
以验证API是否可用。
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo systemctl enable mysql
/etc/mysql/mysql.conf.d/mysqld.cnf
),确保绑定地址允许外部连接:
bind-address = 0.0.0.0
sudo systemctl restart mysql
sudo mysql -u root -p
CREATE DATABASE your_database;
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%';
FLUSH PRIVILEGES;
your_database
、your_user
和your_password
为实际值。3306
,以允许外部访问。docker tag your-api-image:v1.0 registry.cn-hangzhou.aliyuncs.com/your-repo/your-api-image:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/your-repo/your-api-image:v1.0
export DB_HOST="your-mysql-host"
export DB_PORT="3306"
export DB_NAME="your_database"
export DB_USER="your_user"
export DB_PASSWORD="your_password"
Environment.GetEnvironmentVariable
方法读取。docker pull registry.cn-hangzhou.aliyuncs.com/your-repo/your-api-image:v1.0
docker run -d -p 80:80 \
-e DB_HOST=$DB_HOST \
-e DB_PORT=$DB_PORT \
-e DB_NAME=$DB_NAME \
-e DB_USER=$DB_USER \
-e DB_PASSWORD=$DB_PASSWORD \
registry.cn-hangzhou.aliyuncs.com/your-repo/your-api-image:v1.0
通过以上步骤,您可以成功将.NET API与MySQL部署到Linux服务器。