客户服务器禁止连接外网,因此必须离线部署.net core项目。
因为客户服务器的CentOS 7是最小化安装的,因此需要安装httpd服务。在安装光盘的Packages目录下找到httpd-2.4.6-95.el7.centos.x86_64.rpmhttpd-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.typesmailcap-2.1.48-3.el8.noarch.rpmhttps://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.rpmhttp://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.rpmhttp://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
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐