How to start devspoon-web solution
This open source project offer docker that three kind of web service solutions by php-7.3, gunicorn, uwsgi based on nginx server. Anyone can install web services easily using docker and docker-compose. Af you want to use python and php service at same time, this solution can help you better.
- Support to make configuration files for each service(conf, yml etc) : Using shell script, you can easily make and manage the configuration files required for nginx, php, dockerfile, etc. with only the information required by the user's keyboard.
- Efficiently dockerfile configuration for development and service operation :The log folder is interlocked by "volumes" in docker-compose.yml so that user can can be tracked problems even when the docker container is stopped. Webroot, nginx config, etc. are frequently modified during development so these are interlocked by "volumes"
- Provide reverse proxy function :Multiple web and app services can be provided through one nginx with php or python and services can be provided simultaneously. A shell script is provided to easily create a proxy config file so that it can be integrated with the web UI of other services.
- Provides easy distributed service operation method :You can use multiple web servers through proxy, and you can use multiple app servers on one web server. (How to set load balancing will be supported in the future)
* This open source doesn't support database solution. To management DB data safely installing it at localhost is better.
So I recommend a reference link
English Ver :
[How to Install MariaDB on Ubuntu 18.04]Korean Ver :
[Ubuntu 18.04 LTS 에서 웹서버(NGINX + PHP-FPM + MariaDB) 구성하기]
Let's start the PHP server
This solution has www folder that synchronized with container by volumes in docker-compose.yml. And user can make webroot folder here like www/devspoons. Already therer is sample folder in www/sample. So user can refer at the folder of index file.
* If you want to use wordpress or gnuboard or any framework, after make any folder at www, move your ecompressed files here.
-
Make webroot and copy files
-
Make nginx conf file
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current PHP application name is php-app.
If you don't have domain yet, can use ip address. but you can't use https setting on web service of ip address.
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current PHP application name is php-app.
-
Make PHP conf file
-
Run devspoon-web
Let's start the Gunicorn server
This solution has www folder that synchronized with container by volumes in docker-compose.yml. And user can make webroot folder here like www/devspoons/. Already therer is sample folder in www/py37. So user can refer at the folder of index file.
* We assume that already user know how can make django project. So we will use sample django project named py37.
-
Make webroot and copy files
-
Make nginx conf file
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current gunicorn application name is gunicorn-app. if you want to change the name, update docker-compose.yml at devspoon-web/compose/web_service/nginx_gunicorn
If you don't have domain yet, can use ip address. but you can't use https setting on web service of ip address.
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current gunicorn application name is gunicorn-app. if you want to change the name, update docker-compose.yml at devspoon-web/compose/web_service/nginx_gunicorn
-
Update gunicorn executing script
-
Run devspoon-web
Let's start the UWSGI server
This solution has www folder that synchronized with container by volumes in docker-compose.yml. And user can make webroot folder here like www/devspoons/. Already therer is sample folder in www/py37. So user can refer at the folder of index file.
* We assume that already user know how can make django project. So we will use sample django project named py37.
-
Make webroot and copy files
-
Make nginx conf file
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current UWSGI application name is uwsgi-app. if you want to change the name, update docker-compose.yml at devspoon-web/compose/web_service/nginx_uwsgi
If you don't have domain yet, can use ip address. but you can't use https setting on web service of ip address.
-
Docker-compose can connect between containers using application name in a docker-compose.yml file.
Current UWSGI application name is uwsgi-app. if you want to change the name, update docker-compose.yml at devspoon-web/compose/web_service/nginx_uwsgi
-
Update UWSGI executing script
-
UWSGI has two of executing ways to run a server using python file and ini file.
We serve both ways but explain only "ini" case in this manual.
And uwsgi.ini support many arguments, So We don't mention it in this page.
-
UWSGI has two of executing ways to run a server using python file and ini file.
-
Run devspoon-web
-
Trace log files
-
Check other log folders. If log option was setting, It will make a file at each folders.
This manual explain only for nginx log case.
-
Check other log folders. If log option was setting, It will make a file at each folders.
-
Upgrade Http to https
Go to manual : How to build https with devspoon's web service