HEX
Server: Apache/2.4.63 (Unix)
System: Linux Synopilou92 4.4.302+ #72806 SMP Mon Jul 21 23:16:00 CST 2025 x86_64
User: pilou92 (1026)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /volume1/@appstore/WebStation/ui/help/enu/application_webserv_webservice.html
<!DOCTYPE html>
<html class="img-no-display">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link href="../../../../help/help.css" type="text/css" rel="stylesheet"  />
<link href="../../../../help/scrollbar/flexcroll.css" type="text/css" rel="stylesheet"  />
<script type="text/javascript" src="../../../../help/scrollbar/flexcroll.js"></script>
<script type="text/javascript" src="../../../../help/scrollbar/initFlexcroll.js"></script>
</head>
<body><h1><a id="x_anchor_ida1229d4574"></a>Web Service</h1>
<p>On the <strong>Web Service</strong> page, you can manage all your web services. This article will guide you through the process of creating and managing your web services.</p>
<h4><a id="x_anchor_id5ce3051cca"></a>To set up a web service:</h4>
<ol class="type_lower-decimal">
  <li>Go to the <strong>Web Services</strong> page and click <strong>Create</strong>.</li>
  <li>Select a service type:<ul>
      <li><strong>Static website</strong>: For simple websites containing static data.</li>
      <li><strong>Native script language website</strong>: For dynamic websites built with scripting languages that are supported by Synology's <strong>Package Center</strong>. You can also select or create a profile for the scripting language.</li>
      <li><strong>Containerized script language website</strong>: For dynamic websites built with scripting languages that are supported by Docker Hub.</li>
    </ul>
  </li>
  <li>Configure the general settings for the website.</li>
  <li>If you selected <strong>Containerized script language website</strong> as the service type, configure the following settings from this step to <strong>step 7</strong>. If you selected <strong>Static</strong> or <strong>Native</strong> script language website, go to <strong>step 7</strong>.<ul>
      <li><strong>PHP</strong>
        <ul>
          <li>Choose the desired extensions.</li>
          <li>Set up FPM settings:<ul>
              <li><strong>FPM mode</strong>: The method of managing the processes.</li>
              <li><strong>Max processes</strong>: The maximum number of child processes.</li>
              <li><strong>Start servers</strong>: The number of child processes to start when PHP-FPM starts.</li>
              <li><strong>Min spare servers</strong>: The minimum number of idle child processes PHP-FPM creates. </li>
              <li><strong>Max spare servers</strong>: The maximum number of idle child processes PHP-FPM creates.</li>
            </ul>
          </li>
        </ul>
      </li>
      <li><strong>Python</strong>
        <ul>
          <li>Set up uWSGI.<ul>
              <li><strong>Process</strong>: The number of processes that uWSGI can simultaneously activate.</li>
              <li><strong>Enable threads</strong>: Each process contains one thread by default. Enable this option to allow a process to contain multiple threads.</li>
              <li><strong>Max. request count</strong>: Processes will restart when the maximum number of requests is reached.</li>
              <li><strong>Buffer size (bytes)</strong>: The buffer size for the headers of each request.</li>
            </ul>
          </li>
        </ul>
      </li>
      <li><strong>Node.js</strong>
        <ul>
          <li>Set up npm's configuration file. You can upload a package.json file or enter the following information.<ul>
              <li><strong>Version</strong>: The version of your service.</li>
              <li><strong>Author</strong>: The author of your service.</li>
              <li><strong>Main script</strong>: The main properties of your package.json.</li>
              <li><strong>License</strong>: The license of your service.</li>
              <li><strong>Commands</strong>: The script properties of your package.json.</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Add modules for your <strong>Containerized script language website</strong>. For Python websites, you can also add modules by clicking <strong>Browse</strong> and uploading a requirements file (requirements.txt).<ul>
      <li><strong>Module Name</strong>: The name of the module.</li>
      <li><strong>Default Version</strong>: You can use the <strong>Latest version</strong> or <strong>Customize</strong> a module version. For example, you can enter the customized version as the followings:<ul>
          <li>PHP (composer) and <a href="#x_anchor_idfc9d3df613">Node.js (npm)</a> dependencies syntax<ul>
              <li>&gt;=1.0 &lt;1.1</li>
              <li>1.4.*</li>
              <li>~1.2</li>
              <li>^1.2.3</li>
            </ul>
          </li>
          <li>Python <a href="#x_anchor_idfc9d3df613">requirements</a> syntax. Enter “=“ before numbers
            <ul>
              <li>== 1.3</li>
              <li>&gt;= 1.2 , &lt;= 2.0</li>
              <li> ~= 1.4.2</li>
            </ul>
          </li>
        </ul>
      </li>
      <li><strong>Action</strong>: Click <img src="../images/application_webserv_status_page/3.png" style="height: 20px" class="inline" alt="Delete"> to remove a module.</li>
    </ul>
  </li>
  <li>Set up the database for your <strong>Containerized script language website</strong>.<ul>
      <li><strong>Type</strong>: The database your website uses, including MariaDB and PostgreSQL.</li>
      <li><strong>Version</strong>: The version of the database.</li>
      <li><strong>Database</strong>: The name of your database.</li>
      <li><strong>User</strong>: The username for accessing the database.</li>
      <li><strong>Password</strong>: The password of the database user.</li>
    </ul>
  </li>
  <li>Confirm your settings and click <strong>Create</strong>.</li>
</ol>
<div class="section">
<h4><a id="x_anchor_idfc9d3df613"></a>Note:</h4>
<ul>
<li class="note_item"><a id="x_anchor_idb9db332595"></a>The format of a requirements.txt file needs to follow the format of the requirement specifier. Refer to <a href="https://pip.pypa.io/en/stable/cli/pip_install/#requirement-specifiers" target="_blank" rel="noopener noreferrer nofollow">pip documentation</a> and <a href="https://packaging.python.org/en/latest/glossary/#term-Version-Specifier" target="_blank" rel="noopener noreferrer nofollow">Version Specifier</a> for more information.</li>
<li class="note_item"><a id="x_anchor_idc4b83d559d"></a>The format of a package.json file must follow the format defined by npm documents. Refer to the <a href="https://docs.npmjs.com/cli/v9/configuring-npm/package-json" target="_blank" rel="noopener noreferrer nofollow">npm Docs</a> for more information on package.json specifiers.</li>
</ul>
</div>

<h4><a id="x_anchor_id62a3d7bcb0"></a>To edit a web service:</h4>
<ol class="type_lower-decimal">
  <li>Go to the <strong>Web Services</strong> page.</li>
  <li>Select the web service you want to modify its settings.</li>
  <li>Click <strong>Edit</strong>.</li>
  <li>The editable options vary depending on the web service you selected.</li>
  <li>Click <strong>Save</strong> after you modify the settings.</li>
</ol>
<h4><a id="x_anchor_ida9ad07f431"></a>To manage a web service:</h4>
<ol class="type_lower-decimal">
  <li>Go to the <strong>Web Services</strong> page.</li>
  <li>Select a web service and click <strong>Action</strong>.</li>
  <li>You can perform the following actions for the service: <strong>Start</strong>, <strong>Pause</strong>, <strong>Repair</strong>, and <strong>Delete</strong>.</li>
</ol></body>
</html>