How to remote open playframework app (prod)? - scala

I've done my development of play framework,and I have dist it to be a binary version uploaded to the server.
So,my problem is everytime i open it on ssh , it will shutdown when i logout , how to make it running until i shut it down manually?

You can use screen. It will start a new session that will stay open even if you disconnect from the server. You can then, on the next ssh, reconnect with screen -r -D. There are a ton of useful features such as creating multiple "screens" with ctrl+a and then c (see e.g. screen intro on digitalocean for more) so you can continue working on the server while the app is running

add nohup to your launch command to ensure it is not terminated when you exit your shell.
nohup exec /path/to/my/app/bin/myapp -Dhttp.port=8080

Related

How can I launch postgres server headless (without terminal) on Windows?

Using Postgres 9.5 and the libpqxx c++ bindings, I want to launch a copy of postgres that is not installed on the users machine, but is instead packaged up in my application directory.
Currently, I am using pg_ctl.exe to start and stop the server, however when we do this, pg_ctl.exe seems to launch postgres.exe in a new terminal window.
I want it to launch postgres.exe in a headless state, but can't work out how.
I have tried enabling/disabling the logging collector, setting the logging method to a csv file (instead of stdout/stderr), and a couple of other logging related things, but I don't think the issue is the logging.
I have also tried running postgres.exe manually (without pg_ctl) and can get that to run headless by spawning it as a background process and redirecting the logs, but I would prefer to use the "pg_ctl start" api for the "wait for startup" (-w), and "timeout" (-t) options that it provides.
I believe you won't be able to do that with pg_ctl.
It is perfectly fine to start PostgreSQL directly through the server executable postgres.exe. Alternatively, you can use pg_ctl register to create a service and start the service.
In my use case, I was able to resolve the issue by running pg_ctl.exe using
CreateProcess, and providing the dwCreationFlags CREATE_NEW_PROCESS_GROUP | CREATE_NO_WINDOW.
I was originally using CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS, but DETACHED_PROCESS still allowed a postgres terminal to appear. This is because DETACHED_PROCESS will spawn the pg_ctl without a console, but any process that inherits stdin/stdout from pg_ctl will try to use it's console, and since there isn't one, one will be spawned. CREATE_NO_WINDOW however will launch the process with a conhost.exe, however the console will have no window. When the executables spawned by pg_ctl try to write to the terminal, they will successfully write to the console created by the conhost.exe which has no window.
I am now able to run pg_ctl from code with no console appearing.

LoopBack Command Prompt is Disable After Running the Applications

I am mew to loopback . I am running the API in localhost . I created the model and I am able to access it to localhost . But the problem is I can not type anythings in command prompt windows after running the applications ..
Here is the screen shot of the command prompt .
When you start your server you can't type anything on that console.
If you want to use console you have to either stop your server or you have to use another console.
If you want to restart your server then you have to halt it using Ctrl + c command and after that npm start command.
If you want to use the same console for more commands, then open a new console and run your node server over there.
And if you want to clear your warning of "includeSubdomains" then follow these steps :
1)Go to server/middleware.json
2)search for "includeSubdomains" key and replace with "includeSubDomains".

Getting Access to PID in install4j / Mirth Connect

I am using Mirth connect which uses install4j to launch the program.
I am using the mcservice program and would like to get the pid of the launched application so that I can monitor it. How do I do this? Right now the service only has the standard start, status, etc commands.
Back in 2011 there seemed to be some indication that pid monitoring would be coming soon: http://www.mirthcorp.com/community/forums/showthread.php?t=5509
If you need get the the number of the process pid, you can do it by the terminal command:
$ pgrep mcservice
Also, you can store the pid number into a file and run the next command:
$ kill -9 `cat /path/to/file.pid`
In this case, you choosing the best solution for your issue. If you need something more complex you can view this link: Simple Process Checker To Find Out If A Service Is Running or Not

Avoid a GUID refresh in OBIEE

I am unable to login to Answers (/analytics) after every time I deploy the metadata repository of OBIEE using Enterprise manager, on Linux. It works after I refresh the GUIDs. Is there a way to avoid refreshing GUIDs?
Open the rpd offline before deployment, Goto Manage -> Identity->users
Check if your users are there in the rpd, if so remove them. Now deploy your rpd on your target instance. This should go fine. You wont have to reset GUIDs...
Cheers,
RamC
Yes there is.
Stop BI Server
opmnctl stopproc ias-component=coreapplication_obis1
Backup the original repository
cp repository1.rpd repository2.rpd
Modify repository1.rpd on a Windows machine and copy it back to the Linux machine running OBIEE
Start BI Server
opmnctl startproc ias-component=coreapplication_obis1
Stop Services in Linux:
1.Stop opmnctl
Navigate to /instances/instance1/bin
./opmnctl stopall
2.Stop Managed Server (bi_server1)
Navigate to /user_projects/domains/bifoundation_domain/bin
./stopManagedWebLogic.sh bi_server1
3.Stop Admin Server (weblogic)
in the same above location
./stopWebLogic.sh
4.Stop Node manger
Just kill the Node Manager process
ps -ef|grep node –to find nodemanger pid
kill -9
Note: If Managed and Admin server not stopped properly ,you can kill same way like above
ps -ef|grep weblogic
kill -9
Start Services:
======================
1.Start Node Manager
Navigate to /wlserver_10.3/server/bin
nohup sh startNodeManager.sh &
2.Start Admin Server
Navigate to /user_projects/domains/bifoundation_domain/bin
nohup sh startWebLogic.sh -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic123 > admin_server.log &
Tip: you can check log using tail command
tail -f admin_server.log
ctrl-z or ctrl-c to exit log window
3.Start Managed Server (bi_server1)
In the same above location
nohup sh startManagedWebLogic.sh bi_server1 http:// managed_server.log &
Start opmnctl
Navigate to /instances/instance1/bin
./opmnctl startall

Paste (Python) Web Server - Autoreload Problem

When I start the `Paste' web server in daemon mode, it seems to kill off it's ability to reload when the timestamp of a source file is updated.
Here is how I start the daemon...
cd ${project} && ../bin/paster serve --reload --daemon development.ini; cd ..;
...which defeats one of the main points of using Paste (for me).
Has anyone come across this or know what I'm doing wrong?
To be complete, the file that I'm changing is a controller file.
The version is `PasteScript 1.7.3'
I believe that the two options are essentially incompatible, since the reloader stops the server with a SIGTERM and the daemon-ized server is impervious to that -- and since daemon is intended for running in a production environment, and reload for a development/debugging environment, I guess that their incompatibility is not seen as a big loss. I imagine a customized reloader, tailored to properly stop and restart the daemonized server, could certainly be developed, but I don't know of any existing one.
I had a similar problem and circumvented the problem. I currently have paster running on a remote host, but I am still developing, so I needed a means to restart paster, but manually by hand was too time consuming, and daemon didnt work. So I always had to keep a shell window open to the server and running paster without --daemon in there. Once I finished my work for that day, and i closed the shell, paster died, which is bad.
I circumvented that by running paster non daemonized in a "screen".
Simply type "screen" in your shell of choice, you will usually depending on your linux be presented with a virtual terminal, that will keep running even when you log out your remote session. Start paster as usually in your new "window" (the screen) with --reload but without daemon, and then detach the window, so you can return to your normal shell (detach = CTRL-A, then press D). You can re-enter that screen by typing "screen -r". If you would like to kill it, reconnect it (screen -r) and inside the screen type CTRL-A, then press K.
Hope that helps.