CentOS下搭建.NET Core项目运行环境
- 系统版本:CentOS 7.3
- 运行环境:.NET Core
- 数据库:MySQL
- 进程守护:Supervisor
- 反向代理:nginx
.NET Core环境
安装CentOS中.NET Core依赖库
yum install libunwind
yum install libicu
注册Microsoft密钥,产品存储库并安装所需的依赖项。
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
更新可用于安装的产品
sudo yum update
安装.NET SDK
sudo yum install dotnet-sdk-2.2
MySQL数据库
获取安装包并完成安装
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
启动MySQL
service mysqld restart
登录数据库
mysql -u root
设置密码(将password换为自己的密码)
set password for 'root'@'localhost' =password('password');
指定用户远程访问授权
grant all privileges on *.* to root@'%'identified by 'password';
大小写不敏感设置
- 编辑
/etc/my.cnf文件,在[mysqld]节下 添加lower_case_table_names=1参数,重启MySQL才生效。
进程守护
安装Supervisor
yum install python-setuptools
easy_install supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
配置Supervisor
打开
/etc/supervisor/supervisord.conf文件,将;[include]
;files = relative/directory/*.ini
更换为
[include]
files = conf.d/*.conf
进入目录
/etc/supervisor/新建conf.d文件夹,conf.d文件夹下新建netcore.conf文件,内容如下:[program:netcore]
command=dotnet mhqtalks.dll ; (注意)运行程序的命令
directory= /home/netcore/mhqtalks/ ; (注意 注意)对应的你的项目的存放目录,这个地方好多初学者搞错!!
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/netcore.err.log ; 错误日志文件
stdout_logfile=/var/log/netcore.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
执行命令
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl reload
配置Supervisor开机启动:打开目录 /usr/lib/systemd/system/ 新建文件 supervisord.service,内容如下:
# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon [Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s [Install]
WantedBy=multi-user.target
执行命令
systemctl enable supervisord
systemctl is-enabled supervisord #来验证是否为开机启动
启动Supervisor
supervisorctl start netcore
反向代理
安装Nginx
添加Nginx存储库
sudo yum -y install epel-release
安装Nginx
sudo yum -y install nginx
设置开机启动
sudo systemctl enable nginx
启动
sudo systemctl start nginx
配置
编辑配置文件
vim /etc/nginx/nginx.conf
输入i触发文件编辑,找到如下节点并编辑,
server {
listen 80; #修改为监听端口
server_name fxy.wiki; #修改为监听域名
root /usr/share/nginx/html;
# Load configuration files for the default server block
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://localhost:5000; #请求转向地址
}
完成编辑后,按Esc退出编辑模式,输入“:wq”保存修改并退出。
测试及重启
输入nginx -t
若无问题则返回如下信息
[root@iZj6c56xwl3ro8ov5irje1Z netcoreapp2.2]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启服务,
nginx -s reload
域名及主机
- 域名正常注册即可,选择主机时若不想备案可以选择香港或者国外ECS,考虑速度推荐选择比较近的香港节点。
- 在阿里云域名控制台将域名解析至指定ip主机。
参考资料
- 微软官方教程:http://https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial
- ASP.NET Core 发布 CentOS 7 配置守护进程:https://www.cnblogs.com/mhq-martin/p/8639166.html
- CentOS 7 MySQL数据库安装和配置:https://www.cnblogs.com/starof/p/4680083.html
- yum安装卸载部署nginx:https://blog.csdn.net/qq_38950013/article/details/90239532
- 又一篇Centos7下的asp.net core部署教程:https://www.cnblogs.com/caijt/p/10978324.html
CentOS下搭建.NET Core项目运行环境的更多相关文章
- linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境
一.安装JDK 1.卸载旧版本或者系统自带的JDK (1)列出所有已安装的JDK rpm -qa | grep jdk (2)卸载不需要的JDK yum -y remove 安装包名称 2.下载并解压 ...
- windows下搭建学习objective-c 的运行环境【转载】
对于Iphone开发学习者而言,Object -c 是必修的语言.但是由于苹果的自我封闭的产业链发展模式(从芯片.机器.开发语言.终端产品.服务)的限制,要想开发针对苹果iPhone等产品的应用程序, ...
- Docker学习笔记之搭建 Java Web 项目运行环境
0x00 概述 Java Web 泛指以 Java 程序为基础向外提供 Web 服务的技术及相关工具,狭义上来说,我们也可以说 Java Web 是由 Servlet 程序提供的 Web 服务. 对我 ...
- Mac下搭建Apache+PHP+MySql运行环境
https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...
- ubuntu 下搭建apache+python的运行环境
ubuntu下怎么搭建apache+python运行环境,可以参考http://www.01happy.com/ubuntu-apache-mod-python/ ,这里只是简单的记录下步骤,本文主要 ...
- linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向
一:安装jdk 1.下载jdk 在oracle下载东西的时候因为oracle的一些验证机制,所以需要在链接前面添加一些参数 wget --no-check-certificate --no-cook ...
- 一种让运行在CentOS下的.NET CORE的Web项目简单方便易部署的自动更新方案
一.项目运行环境 项目采用的是.NET5开发的Web系统,独立部署在省内异地多台CentOS服务器上,它们运行在甲方专网环境中(不接触互联网),甲方进行业务运作时(一段时间内)会要求异地服务器开机上线 ...
- SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建
最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
随机推荐
- office套件
一.PDF模块 使用PyPDF2模块 pip install PyPDF2 1.1 从PDF读取数据 直接读取,并打印出来.但是这种打印存在一个问题,不能中文字符 import PyPDF2 impo ...
- C++复习6.C/C++高级数据类型
C/C++高级数据类型 1.C语言支持把基本数据类型组合起来形成更加强大的构造数据类型,就是C语言的struct(UDT, User Defined Type). Struct 和class : 在C ...
- SSM整合RocketMQ
前言 RocketMQ是一个由阿里巴巴开源的消息中间件,脱胎于阿里内部使用的MetaQ,本文主要是写个小例子演示一下消息从生产到消费的过程. RocketMQ下载和安装 下载地址 http://roc ...
- Ansible 1.9.0发布 来一起看看这个配置管理新贵
Ansible 1.9.0(版本代号是Dancing In the Street,Ansible每个主要版本代号都是VanHallen乐队的一首曲子)的主要变化是: Added kerberos su ...
- DNS智能解析的搭建与配置
分类: LINUX 原文地址:DNS智能解析的搭建与配置 作者:十年梦生 9月份整整忙了一个月,都抽不出时间来写篇文章,这几天趁着10.1终于有时间来写些东西了,将9月份所做的一些东西来做下总结. ...
- LeetCode OJ:Range Sum Query 2D - Immutable(区域和2D版本)
Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper lef ...
- 转载-lvs官方文档04-LVS集群的负载调度
LVS集群的负载调度 章文嵩 (wensong@linux-vs.org) 2002 年 5 月 本文主要讲述了LVS集群的IP负载均衡软件IPVS在内核中实现的各种连接调度算法.针对请求的服务时间变 ...
- TI IPNC Web网页之进阶修改
GoDB内嵌HTML 原始的页面里面已经有一个内嵌HTML的例子了,那就是维护支持页面.下图是稍微修改后的页面...请自行脑补. 这里使用的是上一节所说的gdo containter的方法. 打开ma ...
- GNU C 、ANSI C、标准C、标准c++区别和联系
转载自点击打开链接 GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.它在编写linux的时候自己制作了一个标准成为 ...
- PostgreSQL统计信息挖掘
PG提供了丰富的统计信息,但是没有将这些统计信息使用的简单查询搞成存储过程,需要我们自己根据需要灵活的去挖掘,最近做了数据库监控,用了一些简单的东西,于是想往深了挖一下. 首先看看系统表和视图,他们都 ...