Pagoda panel mounting paper case CMS

Time:2021-9-12

Installing nginx

To run paper-based CMS on Linux, nginx needs to be used as the reverse proxy to reverse proxy all requests to the paper-based CMS program for processing.

First, install nginx in the software store on the pagoda panel:

 

Select the version to install, select Install 1.18 here, and then click submit to wait for the installation to complete:

 

Add site

After installation, you can add a website. Click the website menu, and then click add site:

 

  Enter the domain name of the website. If there is no domain name, you can enter the IP address of the server for temporary access. Then change the root directory of the website to/www/wwwroot/cms, FTP: do not create, database: do not create, PHP version: pure static, and then click submit:

Next, modify the configuration of the website and click the website to open the configuration:

 

Then open the reverse proxy and add a reverse proxy:

 

  Enter Agent Name:cms, destination URL:http://localhost:5000, send domain name:$host, then click submit:

 

Here, the basic configuration of the website is completed. Next, you need to download and install the paper case CMS.

Download paper case CMS

Click the file menu, and then click remote download:

  Then enter the download address of the paper case CMS:https://cloud.zkeasoft.com/file/zkeasoft/cms.zipTo download:

  After downloading, unzip cms.zip to the website directory/www/wwwroot/cms

 

 

Run the paper case CMS

To run the paper case CMS, you need to enter some commands and click the terminal Icon:

First, you need to install some dependencies:

Ubuntu

apt install libicu-dev libgdiplus -y

 CentOS

yum install libicu libgdiplus -y

Next, download the. Net operating environment required by the paper shell CMS:

wget -O dotnet.tar.gz http://www.zkea.net/dotnet-runtime-linux

  Then extract the runtime to$HOME/dotnetcatalog:

mkdir -p "$HOME/dotnet" && tar zxf dotnet.tar.gz -C "$HOME/dotnet"

  Locate tocmsDirectory, and then enter the following command to run the paper case CMS:

nohup $HOME/dotnet/dotnet ZKEACMS.WebHost.dll

After execution, the website can be accessed normally.

be careful:Use commandnohup $HOME/dotnet/dotnet ZKEACMS.WebHost.dllTo run the paper shell CMS, you need to manually execute the command again after restarting the server. If necessary, you can create a service to automatically run the paper shell CMS in the following way.

Create and run services

Create a service to let the paper case CMS run in the background:

vi /etc/systemd/system/zkeacms.service

 

Then enter the following and save

[Unit]
Description=ZKEACMS

[Service]
WorkingDirectory=/www/wwwroot/cms
ExecStart=/root/dotnet/dotnet ZKEACMS.WebHost.dll
Restart=always
RestartSec=10
SyslogIdentifier=zkeacms
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production 

[Install]
WantedBy=multi-user.target

 

be careful:ExecStart=/root/dotnet/dotnet ZKEACMS.WebHost.dllin/root/dotnet/dotnetIs the path of the dotnet program, i.e$HOME/dotnet/dotnet。 The specific path is related to the current login user. You can use the following command to query the installation path:

printf "$HOME/dotnet/dotnet\n"

 

If you are not currently usingrootUser, please modifyUser=rootFor your current user, for example:User=wayne

Launch site

systemctl start zkeacms

 

After the website is started, you can try to access it using domain name or IP.

If the website cannot be accessed normally, you can use the following command to view the running status of the website:

systemctl status zkeacms

 

Startup self startup

You can set the service to startup, so that the program will run automatically after restarting the server every time:

systemctl enable zkeacms

 

Original text:http://www.zkea.net/codesnippet/detail/bt-panel-zkeacms.html

Recommended Today

The selector returned by ngrx store createselector performs one-step debugging of fetching logic

Test source code: import { Component } from ‘@angular/core’; import { createSelector } from ‘@ngrx/store’; export interface State { counter1: number; counter2: number; } export const selectCounter1 = (state: State) => state.counter1; export const selectCounter2 = (state: State) => state.counter2; export const selectTotal = createSelector( selectCounter1, selectCounter2, (counter1, counter2) => counter1 + counter2 ); // […]