Amazon ec2 在Amazon Linux EC2实例中运行dotnet核心Web API作为服务
我在AmazonLinuxEC2实例中作为服务运行我的Amazon ec2 在Amazon Linux EC2实例中运行dotnet核心Web API作为服务,amazon-ec2,.net-core,systemd,Amazon Ec2,.net Core,Systemd,我在AmazonLinuxEC2实例中作为服务运行我的DotnetCoreWebAPI时遇到了一个非常奇怪的问题 我的EC2详细信息: 问题: 当我将应用程序作为后台进程运行时(如下图所示),它工作正常: sudo nohup/etc/my_dotnet/my_dotnet\u webapi\u文件夹/my_dotnet\u webapi>Output2.out 2>Error2.errOutput2.out 2>Error2.err/dev/null 2>&1 } 案件“$1” 开始) 右侧\
DotnetCoreWebAPI
时遇到了一个非常奇怪的问题
我的EC2详细信息:
问题:
当我将应用程序作为后台进程运行时(如下图所示),它工作正常:
sudo nohup/etc/my_dotnet/my_dotnet\u webapi\u文件夹/my_dotnet\u webapi>Output2.out 2>Error2.err
当进程在执行上述命令并将其作为BG进程运行后运行时
我能够进行API
调用
但是,当我运行与服务相同的东西时,我无法调用api
在这两种情况下,当我执行sudo ps-aux | more
时,我可以看到进程正在运行
应用程序的init.d
文件内容:
评论/垃圾箱/垃圾箱
评论
注释描述:一些描述
COMMENT processname:my_dotnet_webapi
注释pid文件:/var/run/my_dotnet_webapi.pid
注释源函数库。
. /etc/rc.d/init.d/functions
注释源网络配置。
. /etc/sysconfig/network
请检查网络是否已启动。
[“$NETWORKING”=“no”]&退出0
prog=“PS API-开发”
my_dotnet_webapi=“/etc/my_dotnet/my_dotnet_webapi_文件夹/my_dotnet_webapi”
lockfile=“/var/lock/subsys/my\u dotnet\u webapi”
pidfile=“/var/run/${prog}.pid”
开始(){
echo-n$“正在启动$prog:”
sudo nohup$my_dotnet_webapi>Output2.out 2>Error2.err/dev/null 2>&1
}
案件“$1”
开始)
右侧\u状态\u q&退出0
$1
;;
(停止)
右| U状态| q |退出0
$1
;;
重新启动)
$1
;;
*)
echo$“用法:$0{start | stop | reload}”
出口2
以撒
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
COMMENT!/bin/sh
COMMENT
COMMENT description: Some DESCRIPTION
COMMENT processname: my_dotnet_webapi
COMMENT pidfile: /var/run/my_dotnet_webapi.pid
COMMENT Source function library.
. /etc/rc.d/init.d/functions
COMMENT Source networking configuration.
. /etc/sysconfig/network
COMMENT Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
prog="PS API - DEV"
my_dotnet_webapi="/etc/my_dotnet/my_dotnet_webapi_folder/my_dotnet_webapi"
lockfile="/var/lock/subsys/my_dotnet_webapi"
pidfile="/var/run/${prog}.pid"
start() {
echo -n $"Starting $prog: "
sudo nohup $my_dotnet_webapi> Output2.out 2> Error2.err < /dev/null &
sudo touch $lockfile
retval=$?
echo
[ $retval -eq 0 ]
return $retval
}
stop() {
echo -n $"Stopping $prog: "
sudo kill -p $pidfile $my_dotnet_webapi
retval=$?
echo
[ $retval -eq 0 ] && sudo rm -f $lockfile
return $retval
}
restart() {
return 6
stop
start
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
*)
echo $"Usage: $0 {start|stop|reload}"
exit 2
esac