Table of Contents |
---|
After you activate the license, start WCS using the command:
Code Block | ||||
---|---|---|---|---|
| ||||
service webcallserver start |
Stopping the server is done with the command
Code Block | ||||
---|---|---|---|---|
| ||||
service webcallserver stop |
ATTENTION, server start can take up to 1 minute.
Here are a few ways to make sure the server has started and is ready to work:
Make sure the server process is running.
Code Block | ||||
---|---|---|---|---|
| ||||
ps aux | grep WebCallServer |
The console should display two processes: WCS Core (20850 on the example below) and WCS Manager (20806 on the example below):
Code Block | ||||
---|---|---|---|---|
| ||||
[root@localhost tmp]# ps aux | grep WebCallServer
root 20806 0.4 45.1 522148 236512 pts/0 Sl 10:56 0:59 java -Dloader.path=/usr/local/FlashphonerWebCallServer-5.0.2993/lib/tbs-commons.jar,/usr/local/FlashphonerWebCallServer-5.0.2993/lib/wcs_manager-1.0.jar -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer -jar /usr/local/FlashphonerWebCallServer-5.0.2993/lib/wcs_manager-1.0.jar -Xmx1200M -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=50999 -XX:ErrorFile=/usr/local/FlashphonerWebCallServer/logs/error%p.log -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer -Djava.library.path=/usr/local/FlashphonerWebCallServer/lib/so:/usr/local/FlashphonerWebCallServer/lib -cp /usr/local/FlashphonerWebCallServer/lib/* com.flashphoner.server.Server
root 20850 0.0 16.5 1567800 86636 pts/0 Sl 10:57 0:06 java -Xmx1200M -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=50999 -XX:ErrorFile=/usr/local/FlashphonerWebCallServer/logs/error%p.log -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer -Djava.library.path=/usr/local/FlashphonerWebCallServer/lib/so:/usr/local/FlashphonerWebCallServer/lib -cp /usr/local/FlashphonerWebCallServer/lib/* com.flashphoner.server.Server
root 22053 0.0 0.1 61152 732 pts/0 R+ 14:51 0:00 grep WebCallServer
[root@localhost tmp]# |
2. Make sure the server process listens the main ports.
Code Block | ||||
---|---|---|---|---|
| ||||
netstat -nlp | grep java
[root@localhost tmp]# netstat -nlp | grep java
tcp 0 0 0.0.0.0:1098 0.0.0.0:* LISTEN 20850/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 20850/java
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 20850/java
tcp 0 0 0.0.0.0:50999 0.0.0.0:* LISTEN 20850/java
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 20850/java
tcp 0 0 :::9091 :::* LISTEN 20806/java
tcp 0 0 :::1099 :::* LISTEN 20806/java
tcp 0 0 :::2000 :::* LISTEN 20806/java
udp 0 0 0.0.0.0:1935 0.0.0.0:* 20850/java |
If you used a standard number of ports, you should see ports 8080 (Websockets) and 1935 (RTMP) as well as other port you configured for the WCS5 server in the netstat listened ports output.
3. Make sure the WCS5 server writes the main server log of the Core.
Code Block | ||||
---|---|---|---|---|
| ||||
tail -f /usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log |
The log should display information about settings the server started with.
For example:
Code Block | ||||
---|---|---|---|---|
| ||||
15:59:37,378 INFO Config - main LOAD_BALANCING_SERVERS: null
15:59:37,378 INFO Config - main STREAM_MODE_UDP: true
15:59:37,379 INFO Config - main LOAD_TOOL_ENABLED: false
15:59:37,379 INFO Config - main CLI_ENABLED: false
15:59:37,379 INFO Config - main RMI_PORT: 1098
15:59:37,379 INFO Server - main Starting server...
15:59:37,492 INFO KeepAliveManager - KeepAliveManager Start keepAlive thread KeepAliveManager
15:59:37,614 INFO Server - main Listening RTMFP on 1935 port, bufferSize: 64000
15:59:37,750 INFO Server - main Listening WebSocket on 8080 port, bufferSize: 64000
15:59:37,759 INFO Server - main Listening WebSocket Ssl on 8443 port, bufferSize: 64000 |
Logs should react on connection of web clients. If that does not happen during testing, make sure the server process is running and the web client is configured properly to connect this particular server. See the Troubleshooting section for additional information.
4. Make sure WCS does write the main server log of the Manager module
Code Block | ||||
---|---|---|---|---|
| ||||
tail -f /usr/local/FlashphonerWebCallServer/logs/flashphoner_manager.log
15:59:36,277 INFO gerCommandLineRunner - main Starting server node
15:59:36,278 INFO ServerProcess - main Starting server node
15:59:36,293 INFO ServerProcess - main Arg: java
15:59:36,294 INFO ServerProcess - main Arg: -Xmx1200M
15:59:36,294 INFO ServerProcess - main Arg: -Djava.net.preferIPv4Stack=true
15:59:36,294 INFO ServerProcess - main Arg: -Dcom.sun.management.jmxremote.ssl=false
15:59:36,294 INFO ServerProcess - main Arg: -Dcom.sun.management.jmxremote.authenticate=false
15:59:36,294 INFO ServerProcess - main Arg: -Dcom.sun.management.jmxremote.port=50999
15:59:36,294 INFO ServerProcess - main Arg: -XX:ErrorFile=/usr/local/FlashphonerWebCallServer/logs/error%p.log
15:59:36,294 INFO ServerProcess - main Arg: -Dcom.flashphoner.fms.AppHome=/usr/local/FlashphonerWebCallServer
15:59:36,294 INFO ServerProcess - main Arg: -Djava.library.path=/usr/local/FlashphonerWebCallServer/lib/so:/usr/local/FlashphonerWebCallServer/lib
15:59:36,294 INFO ServerProcess - main Arg: -cp
15:59:36,295 INFO ServerProcess - main Arg: /usr/local/FlashphonerWebCallServer/lib/*
15:59:36,295 INFO ServerProcess - main Arg: com.flashphoner.server.Server
15:59:36,313 INFO Manager - main Started Manager in 49.416 seconds (JVM running for 51.706) |
If the server process is running and logs have no error, this means the WCS server is ready to work and you can start testing it.
Two ways to start WCS
Starting the server is performed with this command:
Code Block | ||||
---|---|---|---|---|
| ||||
service webcallserver start |
Besides, you can start the server using:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin
./webcallserver start |
Environment variables and parameters of the start are set in the setenv.sh script. In this script you can se additional parameters for WCS Core and WCS Manager. Also, here you can set the parameter that prevent memory leaks on multi-CPU systems:
Code Block | ||||
---|---|---|---|---|
| ||||
MALLOC_ARENA_MAX=4 |
Technically, starting goes as follows: first, the WCS Manager process starts, then that process launches the child process, WCS Core.
Starting with stdout output
In some cases, for example, if the server won't start and does not produce any errors, you may need to start the server with direct logging to the 'stdout' console. Direct output to stdout cannot be used in production, because the server will be stopped if the console is closed or the SSH connection is lost. That is why we recommend using stdout output only for debug purposes.
To start the server in this mode, use the following command:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/bin
./webcallserver start standalone |
In this case, logs of the root process, WCS Manager, are printed directly to the console, and the server will be stopped if you press Ctrl+C.
To configure output of logs of the child process, WCS Core, use the node.enable_stdout=true setting.
JVM parameters
Parameters are set in the setenv.sh file.
Here yoiu can add any specific startparameters using the following varaibles:
WCS_JAVA_OPTS - the list of options for WCS Core
WCS_MANAGER_OPTS - the list of options for WCS Manager
Even though, one process is a parent of the other one, these processes are completely independent, and options set for the parent do not influence the child process. For example, if both for the parent and the child processes the -Xmx512M option is set, each of the processes will be executed isolated and have 512 megabytes of heap memory.