最近因为项目上的需要,使用.net core写了一个服务,用于指定word模板文件与数据,完成数据的填充(word读写使用npoi)与格式转换(使用aspose,将word转pdf)。之所以选择用.net core就是考虑到跨平台部署的问题。
1、打开powershell,使用ssh登录到服务器(以172.16.170.41为例):
ssh root@172.16.170.41
输入密码即可登录;
2、安装.net core3.1(我们的服务是使用3.1版本开发的):
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-3.1
安装完了运行dotnet --version,如果能查看版本说明安装成功;
3、将我们本地编译发布好的服务文件copy到服务器上
在本地powershell里输入:scp -r C:\pdfservice root@172.16.170.41:/var/www/pdfservice
这条命令表示拷贝本地C:\pdfservice下的所有文件,到41服务器的/var/www/pdfservice目录下(会自动创建pdfservice目录);
4、安装jexus。jexus是一款国产开源免费应用服务器,功能与Nginx类似,但是更加能够发挥.net core程序的优势。
curl https://jexus.org/release/x64/install.sh | sudo sh
完成后,会生成/usr/jexus目录。其中/usr/jexus/siteconf目录下用来存放jexus的配置文件。
5、配置jexus。
进入/usr/jexus/siteconf目录下
vi pdfservice新建一个配置文件(也可以使用默认配置文件default)
输入“i”进入编辑模式, copy以下内容:
########################################
port=5555
root=/ /var/www/pdfservice/
hosts=* #OR your.com,*.your.com
# User=www-data
# AspNet.Workers=2 # Set the number of asp.net worker processes. Defauit is 1.
# addr=0.0.0.0
# CheckQuery=false
NoLog=true
AppHost={
cmd=dotnet /var/www/pdfservice/CATSTI.PdfService.dll;
root=/var/www/pdfservice/;
port=0;
}
# NoFile=/index.aspx
# Keep_Alive=false
# UseGZIP=false
# UseHttps=true
# ssl.certificate=/x/xxx.crt #or pem
# ssl.certificatekey=/x/xxx.key
# ssl.protocol=TLSv1.0 # TLSv1.1 or TLSv1.2...
# ssl.ciphers=
# DenyFrom=192.168.0.233, 192.168.1.*, 192.168.2.0/24
# AllowFrom=192.168.*.*
# DenyDirs=~/cgi, ~/upfiles
# indexes=myindex.aspx
# Deny asp ...
# rewrite=^/.+?\.(asp|cgi|pl|sh|bash|dll)(\?.*|)$ /.deny->$1
# rewrite=.*/editor/.+ /.deny->editor
# reproxy=/bbs/ http://192.168.1.112/bbs/
# host.Redirect=abc.com www.abc.com 301
# ResponseHandler.Add=myKey:myValue
# Jexus php fastcgi address is ‘/var/run/jexus/phpsvr‘
#######################################################
# fastcgi.add=php|socket:/var/run/jexus/phpsvr
其中:
port=5555 表示jexus监听5555端口;
root=/ /var/www/pdfservice/ 表示服务的根目录;
AppHost={
cmd=dotnet /var/www/pdfservice/CATSTI.PdfService.dll;
root=/var/www/pdfservice/;
port=0;
}
中的=dotnet /var/www/pdfservice/CATSTI.PdfService.dll 表示服务的入口是使用.net把CATSTI.PdfService.dll启动起来;
修改完成后,按“esc”键返回浏览模式,再按“:”键,输入wq保存退出;如果输入q!表示不保存退出。
6、重启jexus服务并在centos的防火墙中放开5555端口
重启jexus:service jexus restart
放开5555端口:firewall-cmd --zone=public --add-port=5555/tcp --permanent
重启防火墙:firewall-cmd --reload
7、如果顺利,服务就可以正式使用了。如果不顺利,就百度吧(:P)
原文:https://www.cnblogs.com/coldlight/p/13051051.html