信息管理系统整合XtraReport报表平台之CentOS部署
信息管理系统:SpringCloud 前端Vue
此处XtraReport为Asp.net Core项目
DevExpress V20.2.6
Visual Studio 2019企业版
.NET Core 3.1.416
CentOS 7 X64
[root@localhost ld.so.conf.d]# rpm -q centos-release
centos-release-7-4.1708.el7.centos.x86_64
发布Asp.net Core项目
选择Web服务器部署方式
新增nginx的repo文件:
[root@localhost ~]# vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
安装nginx:
[root@localhost ~]# yum install -y nginx
已加载插件:fastestmirror, langpacks
nginx-stable | 2.9 kB 00:00:00
nginx-stable/7/x86_64/primary_db | 70 kB 00:00:01
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 nginx.x86_64.1.1.20.2-1.el7.ngx 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================================
Package 架构 版本 源 大小
=======================================================================================================================================
正在安装:
nginx x86_64 1:1.20.2-1.el7.ngx nginx-stable 790 k
事务概要
=======================================================================================================================================
安装 1 软件包
总下载量:790 k
安装大小:2.8 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/nginx-stable/packages/nginx-1.20.2-1.el7.ngx.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 7bd9bf62: NOKEY
nginx-1.20.2-1.el7.ngx.x86_64.rpm 的公钥尚未安装
nginx-1.20.2-1.el7.ngx.x86_64.rpm | 790 kB 00:00:02
从 https://nginx.org/keys/nginx_signing.key 检索密钥
导入 GPG key 0x7BD9BF62:
用户ID : "nginx signing key
指纹 : 573b fd6b 3d8f bc64 1079 a6ab abf5 bd82 7bd9 bf62
来自 : https://nginx.org/keys/nginx_signing.key
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:nginx-1.20.2-1.el7.ngx.x86_64 1/1
----------------------------------------------------------------------
Thanks for using nginx!
Please find the official documentation for nginx here:
* https://nginx.org/en/docs/
Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* https://nginx.org/en/support.html
Commercial subscriptions for nginx are available on:
* https://nginx.com/products/
----------------------------------------------------------------------
验证中 : 1:nginx-1.20.2-1.el7.ngx.x86_64 1/1
已安装:
nginx.x86_64 1:1.20.2-1.el7.ngx
完毕!
控制nginx服务:
systemctl start nginx
systemctl restart nginx
systemctl stop nginx
systemctl status nginx
systemctl enable nginx
systemctl disable nginx
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl status nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since 六 2021-12-18 11:28:50 CST; 43s ago
Docs: http://nginx.org/en/docs/
Process: 4006 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 4008 (nginx)
CGroup: /system.slice/nginx.service
├─4008 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
├─4010 nginx: worker process
├─4011 nginx: worker process
├─4012 nginx: worker process
└─4013 nginx: worker process
浏览器确认nginx服务启动:
获取net core的安装信息文件:
[root@localhost ~]# rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
获取https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
准备中... ################################# [100%]
正在升级/安装...
1:packages-microsoft-prod-1.0-1 ################################# [100%]
这里最后安装的还是sdk
【如果是SDK:yum install dotnet-sdk-3.1】
[root@localhost ~]# yum install dotnet-runtime-3.1
已加载插件:fastestmirror, langpacks
packages-microsoft-com-prod | 3.0 kB 00:00:00
packages-microsoft-com-prod/primary_db | 500 kB 00:00:07
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 dotnet-runtime-3.1.x86_64.0.3.1.22-1 将被 安装
--> 正在处理依赖关系 dotnet-hostfxr-3.1 >= 3.1.22,它被软件包 dotnet-runtime-3.1-3.1.22-1.x86_64 需要
--> 正在处理依赖关系 dotnet-runtime-deps-3.1 >= 3.1.22,它被软件包 dotnet-runtime-3.1-3.1.22-1.x86_64 需要
--> 正在检查事务
---> 软件包 dotnet-hostfxr-3.1.x86_64.0.3.1.22-1 将被 安装
--> 正在处理依赖关系 dotnet-host >= 3.1.22,它被软件包 dotnet-hostfxr-3.1-3.1.22-1.x86_64 需要
---> 软件包 dotnet-runtime-deps-3.1.x86_64.0.3.1.22-1 将被 安装
--> 正在检查事务
---> 软件包 dotnet-host.x86_64.0.6.0.1-1 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================================
Package 架构 版本 源 大小
=======================================================================================================================================
正在安装:
dotnet-runtime-3.1 x86_64 3.1.22-1 packages-microsoft-com-prod 29 M
为依赖而安装:
dotnet-host x86_64 6.0.1-1 packages-microsoft-com-prod 67 k
dotnet-hostfxr-3.1 x86_64 3.1.22-1 packages-microsoft-com-prod 148 k
dotnet-runtime-deps-3.1 x86_64 3.1.22-1 packages-microsoft-com-prod 2.8 k
事务概要
=======================================================================================================================================
安装 1 软件包 (+3 依赖软件包)
总下载量:29 M
安装大小:73 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/packages-microsoft-com-prod/packages/dotnet-hostfxr-3.1.22-x64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID be1229cf: NOKEY
dotnet-hostfxr-3.1.22-x64.rpm 的公钥尚未安装
(1/4): dotnet-hostfxr-3.1.22-x64.rpm | 148 kB 00:00:00
(2/4): dotnet-host-6.0.1-x64.rpm | 67 kB 00:00:00
(3/4): dotnet-runtime-deps-3.1.22-centos.7-x64.rpm | 2.8 kB 00:00:00
(4/4): dotnet-runtime-3.1.22-x64.rpm | 29 MB 00:00:31
---------------------------------------------------------------------------------------------------------------------------------------
总计 921 kB/s | 29 MB 00:00:32
从 https://packages.microsoft.com/keys/microsoft.asc 检索密钥
导入 GPG key 0xBE1229CF:
用户ID : "Microsoft (Release signing)
指纹 : bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf
来自 : https://packages.microsoft.com/keys/microsoft.asc
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : dotnet-runtime-deps-3.1-3.1.22-1.x86_64 1/4
正在安装 : dotnet-host-6.0.1-1.x86_64 2/4
正在安装 : dotnet-hostfxr-3.1-3.1.22-1.x86_64 3/4
正在安装 : dotnet-runtime-3.1-3.1.22-1.x86_64 4/4
验证中 : dotnet-host-6.0.1-1.x86_64 1/4
验证中 : dotnet-runtime-deps-3.1-3.1.22-1.x86_64 2/4
验证中 : dotnet-runtime-3.1-3.1.22-1.x86_64 3/4
验证中 : dotnet-hostfxr-3.1-3.1.22-1.x86_64 4/4
已安装:
dotnet-runtime-3.1.x86_64 0:3.1.22-1
作为依赖被安装:
dotnet-host.x86_64 0:6.0.1-1 dotnet-hostfxr-3.1.x86_64 0:3.1.22-1 dotnet-runtime-deps-3.1.x86_64 0:3.1.22-1
完毕!
确认net core的安装:
[root@localhost ~]# dotnet --version
It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
.NET Downloads (Linux, macOS, and Windows)
[root@localhost ~]# dotnet --info
It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
https://aka.ms/dotnet-download
Host (useful for support):
Version: 3.1.22
Commit: 35fa579a30
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.NETCore.App 3.1.22 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
[root@localhost Out]# yum install dotnet-sdk-3.1.0
已加载插件:fastestmirror, langpacks
rabbitmq_erlang/x86_64/signature | 833 B 00:00:00
rabbitmq_erlang/x86_64/signature | 1.8 kB 00:00:00 !!!
rabbitmq_erlang-source/signature | 819 B 00:00:00
rabbitmq_erlang-source/signature | 951 B 00:00:00 !!!
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
没有可用软件包 dotnet-sdk-3.1.0。
错误:无须任何处理
[root@localhost Out]# yum install dotnet-sdk-3.1
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 dotnet-sdk-3.1.x86_64.0.3.1.416-1 将被 安装
--> 正在处理依赖关系 netstandard-targeting-pack-2.1 >= 2.1.0,它被软件包 dotnet-sdk-3.1-3.1.416-1.x86_64 需要
--> 正在处理依赖关系 dotnet-targeting-pack-3.1,它被软件包 dotnet-sdk-3.1-3.1.416-1.x86_64 需要
--> 正在处理依赖关系 dotnet-apphost-pack-3.1,它被软件包 dotnet-sdk-3.1-3.1.416-1.x86_64 需要
--> 正在处理依赖关系 aspnetcore-runtime-3.1,它被软件包 dotnet-sdk-3.1-3.1.416-1.x86_64 需要
--> 正在处理依赖关系 aspnetcore-targeting-pack-3.1,它被软件包 dotnet-sdk-3.1-3.1.416-1.x86_64 需要
--> 正在检查事务
---> 软件包 aspnetcore-runtime-3.1.x86_64.0.3.1.22-1 将被 安装
---> 软件包 aspnetcore-targeting-pack-3.1.x86_64.0.3.1.10-1 将被 安装
---> 软件包 dotnet-apphost-pack-3.1.x86_64.0.3.1.22-1 将被 安装
---> 软件包 dotnet-targeting-pack-3.1.x86_64.0.3.1.0-1 将被 安装
---> 软件包 netstandard-targeting-pack-2.1.x86_64.0.2.1.0-1 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================================
Package 架构 版本 源 大小
=======================================================================================================================================
正在安装:
dotnet-sdk-3.1 x86_64 3.1.416-1 packages-microsoft-com-prod 71 M
为依赖而安装:
aspnetcore-runtime-3.1 x86_64 3.1.22-1 packages-microsoft-com-prod 7.5 M
aspnetcore-targeting-pack-3.1 x86_64 3.1.10-1 packages-microsoft-com-prod 1.7 M
dotnet-apphost-pack-3.1 x86_64 3.1.22-1 packages-microsoft-com-prod 68 k
dotnet-targeting-pack-3.1 x86_64 3.1.0-1 packages-microsoft-com-prod 3.4 M
netstandard-targeting-pack-2.1 x86_64 2.1.0-1 packages-microsoft-com-prod 2.1 M
事务概要
=======================================================================================================================================
安装 1 软件包 (+5 依赖软件包)
总下载量:86 M
安装大小:234 M
Is this ok [y/d/N]: y
Downloading packages:
(1/6): aspnetcore-runtime-3.1.22-x64.rpm | 7.5 MB 00:00:34
(2/6): dotnet-apphost-pack-3.1.22-x64.rpm | 68 kB 00:00:00
(3/6): aspnetcore-targeting-pack-3.1.10.rpm | 1.7 MB 00:00:36
(4/6): dotnet-targeting-pack-3.1.0-x64.rpm | 3.4 MB 00:01:05
(5/6): netstandard-targeting-pack-2.1.0-x64.rpm | 2.1 MB 00:00:43
(6/6): dotnet-sdk-3.1.416-x64.rpm | 71 MB 00:05:13
---------------------------------------------------------------------------------------------------------------------------------------
总计 252 kB/s | 86 MB 00:05:48
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : dotnet-targeting-pack-3.1-3.1.0-1.x86_64 1/6
正在安装 : aspnetcore-targeting-pack-3.1-3.1.10-1.x86_64 2/6
正在安装 : aspnetcore-runtime-3.1-3.1.22-1.x86_64 3/6
正在安装 : dotnet-apphost-pack-3.1-3.1.22-1.x86_64 4/6
正在安装 : netstandard-targeting-pack-2.1-2.1.0-1.x86_64 5/6
正在安装 : dotnet-sdk-3.1-3.1.416-1.x86_64 6/6
This software may collect information about you and your use of the software, and send that to Microsoft.
Please visit http://aka.ms/dotnet-cli-eula for more information.
Welcome to .NET Core!
---------------------
Learn more about .NET Core: https://aka.ms/dotnet-docs
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. It is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.
Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
Configuring...
--------------
A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once.
验证中 : netstandard-targeting-pack-2.1-2.1.0-1.x86_64 1/6
验证中 : dotnet-targeting-pack-3.1-3.1.0-1.x86_64 2/6
验证中 : aspnetcore-targeting-pack-3.1-3.1.10-1.x86_64 3/6
验证中 : dotnet-sdk-3.1-3.1.416-1.x86_64 4/6
验证中 : dotnet-apphost-pack-3.1-3.1.22-1.x86_64 5/6
验证中 : aspnetcore-runtime-3.1-3.1.22-1.x86_64 6/6
已安装:
dotnet-sdk-3.1.x86_64 0:3.1.416-1
作为依赖被安装:
aspnetcore-runtime-3.1.x86_64 0:3.1.22-1 aspnetcore-targeting-pack-3.1.x86_64 0:3.1.10-1 dotnet-apphost-pack-3.1.x86_64 0:3.1.22-1
dotnet-targeting-pack-3.1.x86_64 0:3.1.0-1 netstandard-targeting-pack-2.1.x86_64 0:2.1.0-1
完毕!
因为报表要后台图形渲染,需要引用GdiPlus
---> System.TypeInitializationException: The type initializer for 'Gdip' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibgdiplus: cannot open shared object file: No such file or directory
at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output)
at System.Drawing.SafeNativeMethods.Gdip..cctor()
下载GdiPlus:
Index of /sources/libgdiplus
下载报表的依赖库,编译:
[root@localhost Out]# wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.5.tar.gz
--2021-12-18 15:19:47-- http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.5.tar.gz
正在解析主机 download.mono-project.com (download.mono-project.com)... 117.18.232.200, 2606:2800:147:120f:30c:1ba0:fc6:265a
正在连接 download.mono-project.com (download.mono-project.com)|117.18.232.200|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.5.tar.gz [跟随至新的 URL]
--2021-12-18 15:19:49-- https://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.5.tar.gz
正在连接 download.mono-project.com (download.mono-project.com)|117.18.232.200|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1391332 (1.3M) [application/x-gzip]
正在保存至: “libgdiplus0-6.0.5.tar.gz”
100%[=============================================================================================>] 1,391,332 4.92KB/s 用时 3m 9s
2021-12-18 15:23:00 (7.17 KB/s) - 已保存 “libgdiplus0-6.0.5.tar.gz” [1391332/1391332])
[root@localhost Out]# tar -xvzf libgdiplus0-6.0.5.tar.gz
进入目录:cd /usr/local/libgdiplus/libgdiplus0-6.0.5
配置: ./configure --prefix=/usr/local/libgdiplus/sbin
提示:
No package 'glib-2.0' found
解决办法
yum install libgnomeui-devel
[root@localhost libgdiplus-6.0.5]# ./configure --prefix=/usr/local/libgdiplus/sbin
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether make supports nested variables... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for BASE_DEPENDENCIES... yes
checking for CAIRO... yes
checking for PANGO... no
checking for FONTCONFIG... yes
checking for FcInit in -lfontconfig... yes
checking for FcFini... yes
checking for FREETYPE2... yes
checking byteswap.h usability... yes
checking byteswap.h presence... yes
checking for byteswap.h... yes
checking for library containing sqrt... -lm
checking host threading settings... checking for pthread_create in -lpthread... yes
checking if compiler recognizes -pthread... yes
checking for sigsetjmp... yes
checking for visibility __attribute__... yes
checking for jpeg_destroy_decompress in -ljpeg... no
configure: WARNING: *** JPEG loader will not be built (JPEG library not found) ***
checking for TIFFReadScanline in -ltiff... no
checking for TIFFWriteScanline in -ltiff... no
checking for TIFFFlushData in -ltiff34... no
configure: WARNING: *** TIFF plug-in will not be built (TIFF library not found) ***
checking for DGifOpenFileName in -lgif... no
configure: WARNING: *** GIF loader will not be built (giflibrary not found) ***
checking for DGifOpenFileName in -lungif... no
configure: WARNING: *** GIF loader will not be built (ungiflibrary not found) ***
checking for libpng16... no
checking for libpng14... no
checking for libpng12... no
checking for png... checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_structp in png.h... yes
checking X11 support... yes
checking for LIBEXIF... no
./configure: line 14472: test: too many arguments
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libgdiplus.pc
config.status: creating libgdiplus0.spec
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
---
Configuration summary
* Installation prefix = /usr/local/libgdiplus/sbin
* Cairo = 1.15.12 (system)
* Text = cairo
* EXIF tags = No. Get it from http://libexif.sourceforge.net/
* X11 = yes
* Codecs supported:
- TIFF: no (Get it from http://www.libtiff.org/)
- JPEG: no (Get it from http://freshmeat.net/projects/libjpeg)
- GIF: no (See http://sourceforge.net/projects/libgif)
- PNG: yes
NOTE: if any of the above say 'no' you may install the
corresponding development packages for them, rerun
autogen.sh to include them in the build.
---
编译:
[root@localhost libgdiplus-6.0.5]# make
make all-recursive
make[1]: 进入目录“/root/libgdiplus-6.0.5”
Making all in src
make[2]: 进入目录“/root/libgdiplus-6.0.5/src”
CC adjustablearrowcap.lo
CC bitmap.lo
CC brush.lo
CC carbon-private.lo
CC customlinecap.lo
CC dstream.lo
CC font.lo
CC gdi32.lo
CC general.lo
CC graphics.lo
CC graphics-cairo.lo
CC graphics-metafile.lo
CC graphics-path.lo
CC graphics-pathiterator.lo
CC hatchbrush.lo
CC icocodec.lo
CC image.lo
CC imageattributes.lo
CC lineargradientbrush.lo
CC matrix.lo
CC metafile.lo
CC pathgradientbrush.lo
CC pen.lo
CC print.lo
CC region.lo
CC region-bitmap.lo
CC region-path-tree.lo
CC solidbrush.lo
CC stringformat.lo
CC text.lo
CC text-metafile.lo
CC texturebrush.lo
CC bmpcodec.lo
CC emfcodec.lo
CC emfplus.lo
CC gifcodec.lo
CC jpegcodec.lo
CC pngcodec.lo
CC tiffcodec.lo
CC wmfcodec.lo
CC text-cairo.lo
CCLD libgdiplus.la
make[2]: 离开目录“/root/libgdiplus-6.0.5/src”
Making all in tests
make[2]: 进入目录“/root/libgdiplus-6.0.5/tests”
CC testadjustablearrowcap.o
CCLD testadjustablearrowcap
CC testbitmap.o
…
CC testimageattributes.o
CCLD testimageattributes
CC testjpegcodec.o
testjpegcodec.c:24:21: 致命错误:jpeglib.h:没有那个文件或目录
#include
^
编译中断。
make[2]: *** [testjpegcodec.o] 错误 1
make[2]: 离开目录“/root/libgdiplus-6.0.5/tests”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/root/libgdiplus-6.0.5”
make: *** [all] 错误 2
testjpegcodec.c:24:21: 致命错误:jpeglib.h:没有那个文件或目录
补充安装依赖:
yum install autoconf automake libtool
yum install freetype-devel fontconfig libXft-devel
yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
yum install glib2-devel cairo-devel
再次编译:
[root@localhost libgdiplus-6.0.5]# make
make all-recursive
make[1]: 进入目录“/root/libgdiplus-6.0.5”
Making all in src
make[2]: 进入目录“/root/libgdiplus-6.0.5/src”
make[2]: 对“all”无需做任何事。
make[2]: 离开目录“/root/libgdiplus-6.0.5/src”
Making all in tests
make[2]: 进入目录“/root/libgdiplus-6.0.5/tests”
CC testjpegcodec.o
CCLD testjpegcodec
CC testlineargradientbrush.o
CCLD testlineargradientbrush
CC testmatrix.o
CCLD testmatrix
CC testmetafile.o
CCLD testmetafile
CC testpathgradientbrush.o
CCLD testpathgradientbrush
CC testpen.o
CCLD testpen
CC testpng.o
CCLD testpng
CC testpngcodec.o
CCLD testpngcodec
CC testregion.o
CCLD testregion
CC testreversepath.o
CCLD testreversepath
CC testsolidbrush.o
CCLD testsolidbrush
CC teststringformat.o
CCLD teststringformat
CC testtext.o
CCLD testtext
CC testtexturebrush.o
CCLD testtexturebrush
CC testtiffcodec.o
CCLD testtiffcodec
CC testwmfcodec.o
CCLD testwmfcodec
make[2]: 离开目录“/root/libgdiplus-6.0.5/tests”
make[2]: 进入目录“/root/libgdiplus-6.0.5”
make[2]: 离开目录“/root/libgdiplus-6.0.5”
make[1]: 离开目录“/root/libgdiplus-6.0.5”
[root@localhost libgdiplus-6.0.5]# make install
Making install in src
make[1]: 进入目录“/root/libgdiplus-6.0.5/src”
make[2]: 进入目录“/root/libgdiplus-6.0.5/src”
/usr/bin/mkdir -p '/usr/local/libgdiplus/sbin/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libgdiplus.la '/usr/local/libgdiplus/sbin/lib'
libtool: install: /usr/bin/install -c .libs/libgdiplus.so.0.0.0 /usr/local/libgdiplus/sbin/lib/libgdiplus.so.0.0.0
libtool: install: (cd /usr/local/libgdiplus/sbin/lib && { ln -s -f libgdiplus.so.0.0.0 libgdiplus.so.0 || { rm -f libgdiplus.so.0 && ln -s libgdiplus.so.0.0.0 libgdiplus.so.0; }; })
libtool: install: (cd /usr/local/libgdiplus/sbin/lib && { ln -s -f libgdiplus.so.0.0.0 libgdiplus.so || { rm -f libgdiplus.so && ln -s libgdiplus.so.0.0.0 libgdiplus.so; }; })
libtool: install: /usr/bin/install -c .libs/libgdiplus.lai /usr/local/libgdiplus/sbin/lib/libgdiplus.la
libtool: install: /usr/bin/install -c .libs/libgdiplus.a /usr/local/libgdiplus/sbin/lib/libgdiplus.a
libtool: install: chmod 644 /usr/local/libgdiplus/sbin/lib/libgdiplus.a
libtool: install: ranlib /usr/local/libgdiplus/sbin/lib/libgdiplus.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/local/libgdiplus/sbin/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/libgdiplus/sbin/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/root/libgdiplus-6.0.5/src”
make[1]: 离开目录“/root/libgdiplus-6.0.5/src”
Making install in tests
make[1]: 进入目录“/root/libgdiplus-6.0.5/tests”
make[2]: 进入目录“/root/libgdiplus-6.0.5/tests”
make[2]: 对“install-exec-am”无需做任何事。
make[2]: 对“install-data-am”无需做任何事。
make[2]: 离开目录“/root/libgdiplus-6.0.5/tests”
make[1]: 离开目录“/root/libgdiplus-6.0.5/tests”
make[1]: 进入目录“/root/libgdiplus-6.0.5”
make[2]: 进入目录“/root/libgdiplus-6.0.5”
make[2]: 对“install-exec-am”无需做任何事。
/usr/bin/mkdir -p '/usr/local/libgdiplus/sbin/lib/pkgconfig'
/usr/bin/install -c -m 644 libgdiplus.pc '/usr/local/libgdiplus/sbin/lib/pkgconfig'
make[2]: 离开目录“/root/libgdiplus-6.0.5”
make[1]: 离开目录“/root/libgdiplus-6.0.5”
[root@localhost pkgconfig]# cd /etc/ld.so.conf.d
[root@localhost ld.so.conf.d]# ls
dyninst-x86_64.conf kernel-3.10.0-693.el7.x86_64.conf libiscsi-x86_64.conf mariadb-x86_64.conf
[root@localhost ld.so.conf.d]# vi local.conf
/usr/local/libgdiplus/sbin/lib
[root@localhost ld.so.conf.d]# ldconfig
配置nginx配置文件
目录:/etc/nginx
[root@localhost nginx]# vi nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1: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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
[root@localhost nginx]# systemctl restart nginx
[root@localhost nginx]# systemctl status nginx
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since 六 2021-12-18 16:54:51 CST; 3s ago
Docs: http://nginx.org/en/docs/
Process: 3309 ExecStop=/bin/sh -c /bin/kill -s TERM $(/bin/cat /var/run/nginx.pid) (code=exited, status=0/SUCCESS)
Process: 4362 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 4363 (nginx)
CGroup: /system.slice/nginx.service
├─4363 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
├─4364 nginx: worker process
├─4365 nginx: worker process
├─4366 nginx: worker process
└─4367 nginx: worker process
12月 18 16:54:51 localhost.localdomain systemd[1]: Starting nginx - high performance web server...
12月 18 16:54:51 localhost.localdomain systemd[1]: Started nginx - high performance web server.
上传站点ReportServer.zip
解压站点
启动站点:
[root@localhost Out]# dotnet ReportServer.dll
Hosting environment: Production
Content root path: /root/ReportServer/Content/D_C/Projects/MES_Report_NetCore/ReportServer/obj/Release/netcoreapp3.1/PubTmp/Out
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.