龙空技术网

在Centos 8 上 部署 .Net Core 应用程序

野蛮生长166 1634

前言:

现在你们对“aspnetcorenginx”大致比较看重,我们都需要了解一些“aspnetcorenginx”的相关资讯。那么小编在网络上收集了一些对于“aspnetcorenginx””的相关内容,希望我们能喜欢,看官们快快来学习一下吧!

1、更新dnf 源

1 dnf update
2、安装 Asp.Net Core 运行时
1 dnf install aspnetcore-runtime-3.1
2.1、验证是否安装成功
1 dotnet --info

出现如上图所示就说明安装成功

3、安装Nginx

dnf -y install nginx
3.1、查看nginx版本
nginx -v
3.2、设置开机自启动
1 systemctl enable nginx
3.3、启动 nginx 服务
service nginx start
3.4、其他 相关 指令
# 卸载dnf remove nginx# 停止 服务service nginx stop# 重启service nginx restart# 加载配置文件service nginx reload
4、MySql 安装4.1、下载
 wget 
4.2、使用rpm 安装 mysql
 rpm -ivh mysql80-community-release-el8-1.noarch.rpm
4.3、dnf 安装 mysql 服务
dnf -y install mysql-server
4.4、设置开机自启动
systemctl enable mysqld.service
4.5、启动mysql
systemctl start mysqld.service
4.6、设置远程连接(可选)

因我是在某云上,所以需要设置我本地连接,如果是在自己虚拟器可跳过此步骤

4.6.1、进入 mysql 命令行

4.6.2、更新 系统表(user)

update mysql.user set host="%" where user="root";

4.6.3、设置 root 密码

-- 切换数据库use mysql;-- 执行语句ALTER  USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';-- 刷新修改后的权限flush privileges;-- 退出exit;

4.6.4、测试

5、将应用程序发布后的包上传5.1、创建文件夹(用于存放应用程序包)

mkdir -p /var/www/web
5.2、ftp 上传应用程序文件到 上一步创建的文件夹(/var/www/web/)中6、Redis 安装(可选)

如果项目中没有用到 Redis 可以跳过此步骤

6.1、下载、解压、编译

 wget  tar xzf redis-6.0.6.tar.gz cd redis-6.0.6 dnf install tcl make
6.2、编译测试
make test
6.3、迁移到指定的目录(可选)

mkdir -p /usr/local/soft/rediscd /usr/local/soft/redis/mkdir binmkdir confcd bin/cp /redis-6.0.6/src/redis-cli ./cp /redis-6.0.6/src/redis-server ./cd ../conf/cp /redis-6.0.6/redis.conf ./# 配置 redis-server 的 配置文件为 /usr/local/soft/conf/redis.conf/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf# 检查端口是否在使用netstat -anp | grep 6379

6.4、使用 systemd 方式守护 redis 进程6.4.1、编辑 redis.service 文件

vim /lib/systemd/system/redis.service
6.4.2、设置redis.service 内容
[Unit]Description=RedisAfter=network.target[Service]Type=forkingPIDFile=/var/run/redis_6379.pidExecStart=/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target
6.4.3、重载系统
systemctl daemon-reload
6.4.4、设置开机启动及其他指令
# 开机自启systemctl enable redis# 启动systemctl start redis# 查看状态systemctl status redis# 停止systemctl stop redis
7、配置.Net Core 应用程序的守护进程7.1、编辑 aspnetCore.service 文件

文件名 自定义,这里我起名为 aspnetCore.service

vim /lib/systemd/system/aspnetCore.service
7.2、编辑内容
[Unit]Description=AspnetCoreDemo running on Centos8 [Service]# 应用程序所在的文件目录WorkingDirectory=/var/www/web/ExecStart=/usr/bin/dotnet /var/www/web/Carefree.AspNetCoreDemo.dllRestart=always# 如果dotnet服务崩溃,10秒后重新启动服务RestartSec=10KillSignal=SIGINTSyslogIdentifier=AspNetCoreDemoUser=root#Production:生产环境 Development:开发环境Environment=ASPNETCORE_ENVIRONMENT=Development Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false[Install]WantedBy=multi-user.target
7.3、重载系统及设置开机启动
# 重载系统systemctl daemon-reload
# 开机自启动systemctl enable aspnetCore.service 
8、Nginx 代理8.1、编辑配置文件
vim /etc/nginx/conf.d/web.conf
8.2、编辑内容
server{   listen       80;   location /   {           proxy_pass ;           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;           proxy_set_header   X-Forwarded-For                   proxy_add_x_forwarded_for;           proxy_set_header   X-Forwarded-Proto $scheme;   }}
8.3、编辑 nginx.conf 文件

8.4、验证配置文件是否正确及加载配置文件

# 验证配置文件nginx -t# 加载配置文件nginx -s reload

至此我们的应用程序可正常访问了。如有何问题可与我联系,共同学习。

标签: #aspnetcorenginx