在centos7下部署aspnetcore webapi專案
背景介紹:
公司一個專案是用aspnetcore開發的,要轉成php的,但發現C#的md5函式如果不注意會有丟字元的情況,導致生產庫中的使用者密碼全是不標準的32位md5,只能做一個aspnetcore的webapi,供php呼叫。
安裝環境:
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
更新yum:
yum update
安裝core執行時環境:
yum install aspnetcore-runtime-6.0
執行dotnet --info 檢視環境:
將aspnetcore webapi專案打包壓縮後上傳至centos7下的/usr/src/webservice目錄下
為core新增開啟啟動指令碼:
cd /etc/systemd/system
vim md5convert.service
[Unit]
Description="md5convert.service"
[Service]
Type=simple
GuessMainPID=true
WorkingDirectory=/usr/src/webservice/
StandardOutput=journal
StandardError=journal
ExecStart=/usr/bin/dotnet /usr/src/webservice/MD5Application.dll
Restart=always
[Install]
WantedBy=multi-user.target
新增服務:
systemctl enable md5convert.service
啟動服務
systemctl start md5convert.service
檢視服務執行狀態:
通過日誌可知是監聽的是localhost,如果想讓外部機器訪問此服務,可以加個nginx的反向代理:
vim /usr/local/nginx/conf/nginx.conf
追加如下配置:
upstream aspnetcore {
server 127.0.0.1:5000;
}
server {
listen 80;
server_name www.md5.com;
#charset koi8-r;
#access_log logs/test8082.com.log main;
location / {
proxy_pass http://aspnetcore;
index index.html index.htm;
}
}
這樣即可讓php等語音呼叫此服務了。