在最小化安装的CentOS 7上离线部署.net core项目

  • Post author:
  • Post category:其他


客户服务器禁止连接外网,因此必须离线部署.net core项目。

因为客户服务器的CentOS 7是最小化安装的,因此需要安装httpd服务。在安装光盘的Packages目录下找到

httpd-2.4.6-95.el7.centos.x86_64.rpm



httpd-tools-2.4.6-95.el7.centos.x86_64.rpm

两个文件,复制到虚拟机中,首先安装httpd看一下:

rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm

在这里插入图片描述

需要先安装依赖包。

所需的包列表如下(按安装顺序排列):

包名 文件名 下载地址
/etc/mime.types mailcap-2.1.48-3.el8.noarch.rpm
https://repo.almalinux.org/almalinux/8/BaseOS/x86_64/os/Packages/mailcap-2.1.48-3.el8.noarch.rpm
libapr-1.so.0()(64bit) apr-1.4.8-7.el7.x86_64.rpm
http://mirror.centos.org/centos/7/os/x86_64/Packages/apr-1.4.8-7.el7.x86_64.rpm
libaprutil-1.so.0()(64bit) apr-util-1.5.2-6.el7.x86_64.rpm
http://mirror.centos.org/centos/7/os/x86_64/Packages/apr-util-1.5.2-6.el7.x86_64.rpm

安装完上面3个包后,安装httpd-tools,最后再安装httpd。

接下来参考

CentOS 7搭建Web服务器

的内容开放端口,启动服务。Web服务就安装好了。



https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0

下载.NET SDK或运行时,我下载的是ASP.NET Core运行时。

在这里插入图片描述

将下载的文件上传到服务器,然后运行以下命令:

mkdir -p $HOME/dotnet && tar zxf aspnetcore-runtime-6.0.4-linux-x64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

完成后运行

dotnet --info

检查一下,可以看到运行时已成功安装:

在这里插入图片描述

如果安装的是.NET SDK的话,运行

dotnet --info

命令会出现错误:

在这里插入图片描述

意思就是缺少支持全球化的包libicu,要么安装这个包,要么在项目中指定以全球化固定模式运行。实际上安装.NET运行时,运行

dotnet --info

虽然不会报错,但后面运行项目时仍然会报上面这个错误。所以必须修复这个问题。

安装libicu包:

文件名:libicu-50.2-4.el7_7.x86_64.rpm,下载地址:

http://mirror.centos.org/centos/7/os/x86_64/Packages/libicu-50.2-4.el7_7.x86_64.rpm


不安装libicu包,就必须在.NET的项目文件中配置一下,如下图:

在这里插入图片描述

部署网站的操作参考

在CentOS 7中部署ASP.NET Core应用

项目包含数据库,所以还要离线安装MySql数据库。

首先查看是否安装了mariadb,如果有,需要卸载。

rpm -qa|grep mariadb

在这里插入图片描述

卸载mariadb,注意文件名和上面查看的一致

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64


下载MySql5.7


在这里插入图片描述

下载的文件上传到CentOS 7 服务器后,解压到/usr/local目录下:

tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C  /usr/local

将解压后得到的文件夹改名,最终的安装目录是/usr/local/mysql,这是mysql.server中的默认安装目录,如果安装到其它目录,后面需要修改mysql.server文件:

mv mysql-5.7.38-linux-glibc2.12-x86_64/ mysql

添加用户组和用户

groupadd mysql
useradd -r -g mysql mysql

更改文件夹权限

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

记住临时密码

在这里插入图片描述

添加软链接,方便以后操作

ln -s /usr//local/mysql/bin/mysql /usr/bin/mysql

现在可以进入mysql命令行了,修改密码,开放远程登录

mysql -u root -p

输入上面的临时密码进入命令行,首先更改密码

set password for root@localhost = password('新密码');

允许远程连接

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

退出MySql命令行,开放3306端口

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
sudo firewall-cmd --reload

在其它电脑上用MySql客户端工具连接一下,成功。

最后设置MySql服务开机自启

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld



版权声明:本文为firechun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。