Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
litespeed_wiki:cloudlinux:enable_ruby_python_selector [2019/06/05 13:20]
Jackson Zhang [How to Enable CloudLinux Python and Ruby Selector (alt-mod_passenger) for LSWS]
litespeed_wiki:cloudlinux:enable_ruby_python_selector [2021/08/20 20:33]
Jackson Zhang [Troubleshooting]
Line 1: Line 1:
 ===== How to Enable CloudLinux Python and Ruby Selector (alt-mod_passenger) for LSWS ===== ===== How to Enable CloudLinux Python and Ruby Selector (alt-mod_passenger) for LSWS =====
-To enable Python or Ruby on a shared hosting environment instead of a dedicated VPS environment (such as cpanel, DirectAdmin etc), CloudLinux Python and Ruby Selector is recommended. If it is not for a shared hosting environment,​ you can refer to [[litespeed_wiki:​other-ext-apps#​archive|our archive section]] for LSWS native setup.+To enable Python or Ruby on a shared hosting environment instead of in a dedicated VPS environment (such as cpanel, DirectAdmin etc), CloudLinux Python and Ruby Selector is recommended. If it is not for a shared hosting environment,​ you can refer to [[litespeed_wiki:​other-ext-apps#​archive|our archive section]] for LSWS native setup.
  
 The Python and Ruby Selector allows end users to select the specific version of Python or Ruby they need. The Python and Ruby Selector allows end users to select the specific version of Python or Ruby they need.
  
-LiteSpeed supports ​the mod_passenger configurations used in the Apache configuration generated through CloudLinux selectors. However, behind the sceneit is a completely different implementation to mod_passenger.+LiteSpeed supports the Apache ​''​mod_passenger'' ​configuration generated through CloudLinux selectors ​(LiteSpeed doesn'​t support most of the  [[https://​www.phusionpassenger.com/​library/​config/​apache/​reference/​|mod_passenger apache rules]] and only support a few of the long list. Please check here for [[litespeed_wiki:​config:​mod_passenger|LiteSpeed supported Mod_Passenger rules]]). However, behind the scenesLiteSpeed'​s ​is a completely different implementation to Apache'​s.
  
 ===== Requirements ===== ===== Requirements =====
Line 15: Line 15:
   - Run script to install required ruby/python lsapi modules: <​code>/​usr/​local/​lsws/​admin/​misc/​enable_ruby_python_selector.sh</​code>​   - Run script to install required ruby/python lsapi modules: <​code>/​usr/​local/​lsws/​admin/​misc/​enable_ruby_python_selector.sh</​code>​
   - Switch to LiteSpeed and try a ruby/python app   - Switch to LiteSpeed and try a ruby/python app
 +===== Restart the Python and Ruby Application =====
 +==== Through ''​touch tmp/​restart.txt''​ ====
 +The Python and Ruby application can be restarted by touching the ''<​app_root_dir>/​tmp/​restart.txt''​ file.
 +For example, if a python application is located at ''/​home/​user1/​mypythonapp''​ the command would be: 
 +
 +<​code>​touch /​home/​user1/​mypythonapp/​tmp/​restart.txt</​code>​
 +
 +If /​home/​user1/​mypythonapp/​tmp/​restart.txt exits already, you will still need to "​touch"​ it. 
 +
 +This will tell the server to restart the application.
 +
 +==== Through CloudLinux Python application manager ====
 +If you run cpanel and CloudLinux Python application manager, you can restart the Python application there.
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
 +====  The application does not work properly ====
 If your application does not work properly, you can try two simple steps to check if the application has been setup properly: If your application does not work properly, you can try two simple steps to check if the application has been setup properly:
   - If possible, switch back to Apache temporarily to verify if the application works properly under Apache.   - If possible, switch back to Apache temporarily to verify if the application works properly under Apache.
Line 42: Line 56:
  
 This indicates Django was not properly set up for the application. ​ This indicates Django was not properly set up for the application. ​
 +
 +==== ''​touch tmp/​restart.txt''​ or CL Python manager restart can not restart Python application ====
 +
 +''​touch tmp/​restart.txt''​ or CL Python manager restart can not restart Python application. Most likely there are some old lswsgi processes.
 +<​code>​
 +ps -ef | grep pythontest
 +pythont+ 508045 1 0 Aug13 ? 00:01:23 /​opt/​alt/​python37/​bin/​lswsgi -m /​home/​pythontest/​pyapp1/​passenger_wsgi.py
 +pythont+ 890556 1 0 Jul31 ? 00:05:34 /​opt/​alt/​python37/​bin/​lswsgi -m /​home/​pythontest/​pyapp1/​passenger_wsgi.py
 +pythont+ 1470047 1 0 Jul19 ? 00:10:36 /​opt/​alt/​python37/​bin/​lswsgi -m /​home/​pythontest/​pyapp1/​passenger_wsgi.py
 +pythont+ 1900598 1866381 0 15:14 ? 00:00:00 /​opt/​alt/​python37/​bin/​lswsgi -m /​home/​pythontest/​pyapp1/​passenger_wsgi.py
 +root 1902042 1898738 0 15:22 pts/2 00:00:00 grep --color=auto pythontest
 +pythont+ 2741844 1 0 Jul23 ? 00:08:41 /​opt/​alt/​python37/​bin/​lswsgi -m /​home/​pythontest/​pyapp1/​passenger_wsgi.py
 +</​code>​
 +
 +Although ''​touch tmp/​restart.txt''​ or CL Python manager restart may restart the latest lswsgi process, but some old processes may be still running and cause restart issues. ​ These processes may still be there even you switch to apache. ​ ssh login to the user and manually killing these processes should fix the issue. ​
  • Admin
  • Last modified: 2021/08/24 11:58
  • by Lisa Clarke