您现在的位置是:网站首页> .NET Core
.NET Core基础问题收集
- .NET Core
- 2024-12-01
- 57人已阅读
.NET Core基础问题收集
***运行ASP.NET Core项目可以发布后直接命令行:dotnet dll文件名.dll***
ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
首先,我们找到官网教程,安装.NET Core 环境。地址:https://www.microsoft.com/net/core#linuxcentos
正如教程中所说,安装之前先删除以前的版本。我的删除方法就是手动删相应的文件夹。然后按照教程一步一步来就OK了。当然不排除你在实战过程中会遇到各种各样的麻烦,多搜,网上还是有方案的。
sudo yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
上述过程如果顺利走完的话,就是没啥问题了,环境就可以了。现在我们随便新建一个ASP.NET Core程序。也不用编写代码,打开相应的程序目录,我的如下:
这里呢,虽然发布方法是一样的,但是我用的是git将代码克隆到服务器,然后进行发布的。
首先,定位到相应目录:
cd /root/project/LayIM.NETCoreClient/LayIM.NETCoreClient ---定位到web项目下
然后restore
dotnet restore
然后publish
dotnet publish
发布成功之后,会生成bin/Debug/netcoreapp1.0/publish 文件夹,然后定位到该文件夹,执行:
dotnet LayIM.NETCoreClient.dll --改成你的web项目dll
执行完成之后如下:
虽然,localhost可以访问了,但是在外网访问还是不可以的,我这里的原因是80,5000端口没有开放。开放即可。centos7中开放端口方式如下:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=5000/tcp --permanent
然后重启firewall
最后,发现还是不能访问。(我也不知道为啥),所以我也没思考直接安装了ngnix。
sudo yum install nginx
sudo service nginx start
改一下配置文件,etc/nginx/nginx.conf
server {
listen 80;
location / {
proxy_pass http://localhost: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;
}
}
然后重启
nginx -s reload
见证奇迹的时候到啦。
总结
成功是成功了,不过还是手动发布的
如何手动给apk签名
手动给APK签名是一个重要的步骤,可以确保应用的完整性和来源。以下是手动给APK签名的步骤:
1.准备工作:
确保已安装Java Development Kit (JDK)。
将JDK的bin目录添加到系统PATH中。
2.生成密钥库(如果还没有): 使用keytool命令生成一个新的密钥库:
keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
按提示输入密码和其他信息。
3.找到需要签名的APK文件。
4.使用jarsigner工具签名:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
其中:
my-release-key.keystore 是你的密钥库文件
my_application.apk 是你要签名的APK文件
alias_name 是你在创建密钥库时使用的别名
5.验证签名:
jarsigner -verify -verbose -certs my_application.apk
6.优化APK(可选但推荐): 使用zipalign工具优化APK:
zipalign -v 4 my_application.apk my_application-aligned.apk
注意:zipalign工具通常在Android SDK的build-tools目录中。
重要提示:
保管好你的密钥库文件和密码,丢失它们将导致无法更新应用。
对于发布到Google Play的应用,应该使用相同的密钥签名所有更新版本。
不同的Android版本可能需要不同的签名算法,较新的Android版本可能需要使用更强的算法。
使用这种方法,你可以手动控制APK的签名过程。但是,对于大多数开发场景,使用Android Studio或其他集成开发环境提供的自动化签名过程可能更方便和安全。