目录
一、安装数据库MySql8
1、查看是否已安装mysql
yum repolist enabled | grep "mysql"
2、在MySql官网中找到yum源rpm安装包(MySQL :: Download MySQL Yum Repository),复制下载链接:https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm。
3、进入CentOS,输入以下命令
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
//配置mysql
systemctl start mysqld //启动mysql服务
//获取初始密码(建议使用5.8以上的版本,5.7以下版本不生成初始密码)
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p //本地MySQL客户端登录,输入密码(不显示)后回车
//修改密码,默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
//配置远程登陆
update user set host='%' where user ='root';
flush privileges;
二、发布Asp.Net Core服务
1、安装donet运行环境
官方教程:在 CentOS Linux 上安装 .NET - .NET | Microsoft Learn,在终端输入:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo dnf install dotnet-sdk-5.0
sudo dnf install aspnetcore-runtime-5.0
输入dotnet --info查看是否安装成功
2、启动Asp.Net Core程序
将Asp.Net Core 发布后的文件上传到服务器上(推荐使用MobaXterm),上传目录推荐 /var/www下(root目录下会出现访问权限问题)。
//启动程序
cd /var/www/donet
dotnet xxxx.dll //区分大小写
出现以上画面,你就成功了,如果有误,你先在你本地window下dotnet xxx.dll看看有没有错误,一般在你本地上没问题,在服务器也是没问题的。
现在外网还不能访问你的5000端口的,这个dotnet默认只监听本地的5000端口,所以外网无法访问,
解决方法:
a、就是在命令后面加上参数urls:
dotnet xxxx.dll --urls http://*:5000
b、使用nginx代理后面会讲到。
3、将Asp.Net Core程序发布为服务
官方说明使用 Nginx 在 Linux 上托管 ASP.NET Core | Microsoft Learn。
cd /etc/systemd/system
vi kestrel-helloapp.service //创建服务文件,文件名中不要有下划线,否则报错
//编辑文件
[Unit]
Description=helloapp_service
[Service]
WorkingDirectory=/var/www/helloapp #服务目录修改为自己的目录
ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll #这里也要修改为对应的程序
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
//服务设置
systemctl start kestrel-helloapp.service //开启服务
systemctl status kestrel-helloapp.service //查看服务状态
systemctl enable kestrel-helloapp.service //设置开机启动
systemctl restart kestrel-helloapp.service //重启服务
三、配置Nginx
1、安装nginx
//给centos添加一个yum源,yum的应用商城上没有nginx
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-70.el7.ngx.noarch.rpm
yum install -y nginx //安装nginx
systemctl start nginx //启动nginx
systemctl enable nginx //将nginx设为开机启动
2、配置nginx
cd /etc/nginx
如上图所示,nginx.conf是主配置文件,打开这个文件,下面有一句include /etc/nginx/conf.d*.conf,说明还有一些配置在conf.d目录里面,而我们主要要设置的都在conf.d里面
cd ./conf.d // 进到conf.d目录里,看到里面就一个default.conf文件
vi test.conf //创建我们自己的配置文件,不修改默认
//编辑文件
server {
listen 80; #代理端口
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;
}
}
保存退出
nginx -t //运行nginx检查
nginx -s reload //重启nginx
参考文章:
CentOS7安装mysql8.0.12_mysql 8.0 community server 3.4 kb/s | 2.6 kb 00:00-CSDN博客