linux服务器部署.net core 3.1
CentOS 系统官方下载地址:https://www.centos.org/download/
服务器系统版本:CentOS 7.0+
准备: CentOS7 安装 yum 源
1.yum list 发现yum源不可用
2.设置网卡开机自动启动
2、修改ifcfg-ens33的网卡配置文件(CentOS7修改了网卡命名规则,不再是eth0了,而是ifcfg-eno+数字)。输入命令 "vi ifcfg-ens33" 进入vi编辑器,按下"i"或者"insert"键进入编辑模式。
3、将 "ONBOOT" 的值修改为 "yes" ,之后按esc退出编辑模式,输入 ":wq" 保存退出
4、重启系统或者重启网卡,输入命令 "reboot" 或 "service network restart"。
3、保存后,重启系统或者重启网卡,输入命令 "reboot" 或 "service network restart"。
2.需要的可以安装图形界面
a.因为采用yum在线安装,需要检测到机器联网
b.安装Gnome包组,命令如下 :yum groupinstall "GNOME Desktop" "Graphical Administration Tools",因为安装的时候选择是最小化安装,并且是新装的系统,需要安装的包比较多,要耐心等待
c.运行startx命令,进入图形界面
d.重启系统,还需要配置一下
e.登陆系统后,更新系统运行级别,使得系统一开机就进入图形界面:systemctl set-default granphical.target
f. reload重启系统,开机直接进入图形界面,图形界面启动慢,要耐心等待
准备工作已经做好了。
第一步:安装数据库
1.下载 Microsoft SQL Server 2019 Red Hat 存储库配置文件:
#curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
2.运行以下命令以安装 SQL Server:
#yum install -y mssql-server
3.包安装完成后,运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。
#/opt/mssql/bin/mssql-conf setup
4.sqlserver默认使用1433端口,可关闭防火墙或开放1433端口进行远程
安装 SQL Server 命令行工具/或者安装Visual Studio Code 可视化工具
一、安装 SQL Server 命令行工具
若要创建数据库,则需要使用可在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤将安装 SQL Server 命令行工具:sqlcmd 和 bcp
1.下载 Microsoft Red Hat 存储库配置文件。
#curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
2.如果安装了早期版本的 mssql-tools,请删除所有旧的 unixODBC 包。
#yum remove unixODBC-utf16 unixODBC-utf16-devel
3.运行以下命令,以使用 unixODBC 开发人员包安装 mssql-tools。
#yum install -y mssql-tools unixODBC-devel
4.为方便起见,向 PATH 环境变量添加 /opt/mssql-tools/bin/
。 这样可以在不指定完整路径的情况下运行这些工具。 运行以下命令以修改登录会话和交互式/非登录会话的路径 :
#echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
#echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
#source ~/.bashrc
测试本地连接
1.sqlcmd -S localhost -U SA -P '<YourPassword>'
2.出现1>表示登陆成功
二、安装Visual Studio Code 可视化工具
安装Visual Studio Code的过程
导入存储库密钥,运行以下命令:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
完成后,将VS Code存储库内容添加到Fedora Linux系统:
cat <<EOF | sudo tee /etc/yum.repos.d/vscode.repo
[code]
name=Visual Studio Code
baseurl=https://packages.microsoft.com/yumrepos/vscode
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
EOF
然后更新包缓存并在Fedora 30/29/28上安装Visual Studio Code,运行以下命令:
$ dnf check-update
$ sudo dnf install code
可以使用以下命令检查包版本号(例如版本号):
$ rpm -qi code
结果如下图所示:
可以看到安装的版本是:1.48.2。
要在Fedora上启动VS Code,请运行:
$ code
或者从系统菜单中搜索,如下:
这个时候就可以弹出VS Code的欢迎窗口了:
看到如上图页面,表示安装Visual Studio Code已经成功。
配置VScode
1、安装mssql配置插件
(1)使用快捷键Ctrl + Shift + P(或F1),打开命令窗口。在下方选择“Extensions: Install Extensions”。
(2)在弹出的搜索框中输入mssql,选择 SQL server (mssql) 并点击右下角的install安装
(3)返回到资源管理器(左侧有4个图标,最上面那个就是资源管理器),使用
Ctrl + N新建一个文件。
(4)在界面右下角可以发现这个文件是“plain Text(纯文本)”类型,接下来我们把它改成sql代码类型。
鼠标点击状态栏的“plain Text”,或者按快捷键
Ctrl + K,然后点一下M键,会弹出类型选择框。输入SQL并选择即可。
此后这个文件就可以作为一个查询文件了。如果需要再创建查询文件,直接Ctrl+N创建即可。
2、使用VScode 本地连接 SQL server
(1)使用快捷键Ctrl + shift + P(或F1)打开命令窗口,输入“mssql”,选择“Add Connection”
(2)输入服务器名字,如果是本地连接则输入“localhost”,然后回车
(3)默认创建一个数据库,输入名字。建议回车跳过。
(4)选择SQL login
(5)输入在配置sql server时所配置的用户名(应该都是sa)
(6)输入在配置sql server时所配置的用户名的密码
(7)保存密码,yes
(8)给新建的连接起个名字(方便以后找)
(9)当右下角出现如下提示,状态栏也显示了“localhost: master: sa”则表示sql server本地连接成功。
3、打开数据库管理界面
(1)在上方工具栏中点击“View”,随后点击“Open View”
(2)在弹出的栏目中找到并选择“SQL Server”
(3)可以发现左侧多了一个图标,这个图标就是数据库管理界面,在界面中可以看到刚刚新建的连接,可以查看管理数据库、数据库表格等。
以后想要再连接数据库,点一下“localSQLserver”它就会自动帮你连接了。
4、如何执行sql语句
例:创建test数据库。
首先,在右侧的文本栏中输入sql语句。
选中sql语句,右键,选择“Execute Query(执行查询)”
右侧窗口提示命令执行成功,左侧的数据库可以看见test数据库已创建(要刷新一下才能看到)
5、汉化及执行查询快捷键的设置
汉化:
(1)按下Ctrl + shift + P(或F1),弹出命令窗口,输入language,点击“Configure Display Language”
(2)弹出界面中选择下面的“Install add…”
(3)弹出界面中,找到中文(简体),并点击右下角按钮安装(我已经安装过了,所以不显示install按钮)
(4)重复以上步骤,选择zh-cn即可(会提示重启,重启即可)。
执行查询快捷键设置:
(1)依次选择【文件】→【首选项】→【键盘快捷方式】
(2)搜索并找到 Execute Query,双击设置所需的按键即可。
第二步:部署 .net core
为CentOS准备.NET Core环境
1. 注册 Microsoft 密钥和源
这本质上就是向微软提交投名状,表示我这台服务器要用.NET Core
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
2.安装 .NET Core SDK
sudo yum install dotnet-sdk-3.1
3.安装 ASP.NET Core 运行时
如果先安装SDK,运行时已经作为依赖项安装,本步骤也可省略。
sudo yum install aspnetcore-runtime-3.1
说明:在微软的官方文档中还有安装“安装 .NET Core 运行时”步骤,但实际在安装 ASP.NET Core 运行时,依赖软件包已经包括了.NET Core运行时。
站点配置
1. 建立目录
-
mkdir dotnet
-
cd dotnet
2.将发布文件夹(Publish)目录文件复制至新建的目录
-
[dotnba@CentOS8 ~]$ cd dotnet
-
[dotnba@CentOS8 dotnet]$ pwd
-
/home/dotnba/dotnet
-
[dotnba@CentOS8 dotnet]$ ls
-
appsettings.json hosting.json WebApiDemo.dll WebApiDemo.runtimeconfig.json
3.启动站点
dotnet WebApiDemo.dll
4.访问站点
此时,通过http://localhost:8080/weatherforecast,已经能访问站点。如果未修改Program.cs,那么默认地将使用5000端口,也就是通过http://localhost:5000/weatherforecast来访问。
安装配置Nginx
1.安装Nginx
sudo yum -y install nginx
2.启动Nginx并查看Nginx状态
-
systemctl enable nginx
-
service nginx start
-
ps -ef | grep nginx
3.为.NET Core Web站点配置反向代理
-
listen 80;
-
server_name www.demo.com;
-
-
location / {
-
proxy_pass http://localhost:8080;
-
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;
-
}
-
-
}
4.重新加载配置,访问站点
service nginx reload
在hosts文件中添加静态地址映射
192.168.202.142 www.demo.com
输入地址:http://www.demo.com/weatherforecast 即可访问
部署后又出现一些新的小问题:
1.网站验证码,二维码生成图片不行,linux需要安装 libgdiplus
安装 libgdiplus-devel
yum install libgdiplus-devel
如果出现错误 No package libgdiplus-devel available.
原因可能是yum源不支持该安装包
更换yum源为 EPEL yum 源
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
然后再安装即可
2.网页显示中文乱码问题
3.视频播放问题,需要添加Mime类型
4.nginx域名反向代理问题