Nginx practice case (source code compilation and installation method): use LNMP to build a wordpress site, and lnmp to build a zabbix

47 minutes
three hundred
zero

For image download, domain name resolution and time synchronization, please click

Alibaba Open Source Image Station - OPSX Image Station - Alibaba Cloud Developer Community

LNMP is the acronym of Linux+Nginx+MySQL+PHP, which is relative to LAMP (Linux+Apache+MySQL+PHP). It was once popular in the virtual host website building industry. With the development of new programming languages, container technology, microservices, etc., it gradually declined, especially the use of PHP programming language dropped sharply.

WordPress is an open source software that allows you to build excellent websites, blogs or applications. It has beautiful design and powerful functions, which can help you freely play what you want. WordPress is both free and priceless.

#System and environment description in this practice
L:Linux //mirrors.aliyun.com/centos/
N:Nginx //nginx.org/en/download.html
M:MySQL //dev.mysql.com/downloads/mysql/
P:PHP //php.net/downloads.php
WordPress //cn.wordpress.org/latest-zh_CN.tar.gz
#Deployment planning:
one hundred and ninety-two point one six eight .250 .47 :Nginx php-fpm Run web service
one hundred and ninety-two point one six eight .250 .48 : Run MySQL database, Redis service

1. Architecture topology and host description

#Three hosts
one one platform Linux+Nginx+PHP+WordPress (short for LNP) The server
Host name: LNP-Server-IP47
CentOS seven point nine
IP:192.168.250.47

two one platform MySQL+Redis The server
Hostname: MySQL-Redis-IP48
CentOS eight point four
IP:192.168.250.48/24

three one platform Client host
WIN10-PC

2. Prepare MySQL database

#For CentOS system optimization, you can check previous articles; Modify the host name according to the architecture diagram
[ root@CentOS84-IP48 ] #hostnamectl set-hostname MySQL-Redis-IP48
[ root@CentOS84-IP48 ] #exit

#Yum Install MySQL server database
[ root@MySQL-Redis-IP48 ] #yum info mysql-server
Last metadata expiration check: nineteen : thirty-one : twenty-one ago on Mon twenty-eight Mar two thousand and twenty-two 02 : thirty-four : thirty-eight AM CST.
Available Packages
Name : mysql-server
Version : eight . twenty-six
[ root@MySQL-Redis-IP48 ] #yum -y install mysql-server

#Start the service and enable auto start
[ root@MySQL-Redis-IP48 ] #systemctl enable --now mysqld

#Enter database
[ root@MySQL-Redis-IP48 ] #mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is eight
Server version: eight . twenty-six Source distribution

Copyright (c) two thousand , two thousand and twenty-one , Oracle and / or its affiliates.

Oracle is a registered trademark of Oracle Corporation and / or its
affiliates. Other names may be trademarks of their respective
owners.

Type help; or \h for help. Type \c to clear the current input statement.
#Create wordpress library
mysql> create database wordpress;
Query OK, one row affected ( zero . 00 sec)
#Database account name and password for creating wordpress
mysql> create user wordpress@ 192.168.250.% identified by one hundred and twenty-three thousand four hundred and fifty-six ;
Query OK, zero rows affected ( zero . 01 sec)
#Database authorization
mysql> grant all on wordpress.* to wordpress@ 192.168.250.% ;
Query OK, zero rows affected ( zero . 01 sec)
#Log in locally and verify the database
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
five rows in set ( zero . 01 sec)

mysql> use wordpress
Database changed
mysql> show tables;
Empty set ( zero . 00 sec)

mysql> quit
Bye
[ root@MySQL-Redis-IP48 ] #

3. Network authentication MySQL service

#Log in to the database server built on another machine through the network
#Install MySQL package of database client
[ root@CentOS84-IP172-48 ] #yum -y install mysql

#Log in to remote database in network mode
[ root@CentOS84-IP172-48 ] #mysql -uwordpress -p123456 -h192.168.250.48
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.26 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type help ; or \h for help. Type \c to clear the current input statement.

mysql> show databases ;
+ --------------------+
| Database |
+ --------------------+
| information_schema |
| wordpress |
+ --------------------+
2 rows in set ( zero sec)

mysql>

4. Configure LNP server

Basic tasks: compile, install and deploy PHP to support Redis, prepare configuration and start service files, and start php fpm; Compile and install Nginx, prepare configuration and start service files, and start Nginx

4.1 Deploy php fpm service

#Modify the host name according to the architecture diagram
[ root@centos79 <sub>]# hostnamectl set-hostname LNP-Server-IP47
[ root@centos79 </sub>]# exit

#Install the dependency package required for compiling PHP
[ root@lnp-server-ip47 ]# yum -y install gcc openssl-devel libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel

#Download the php-7.4.28.tar.xz source package
[ root@lnp-server-ip47 src]# wget //www.php.net/distributions/php-7.4.28.tar.xz
[ root@lnp-server-ip47 src]# ll -h php-7.4.28.tar.xz
-rw-r--r-- one root root 10M Feb fifteen twenty-one :40 php-7.4.28.tar.xz

#Unzip the source code package and enter the directory where the source code package is located
[ root@lnp-server-ip47 src]# tar xf php-7.4.28.tar.xz
[ root@lnp-server-ip47 src]# ll
total eleven thousand two hundred and twenty
drwxr-xr-x nine one thousand and one one thousand and one one hundred and eighty-six Mar twenty-eight seventeen :06 nginx-1.20.2
-rw-r--r-- one root root one million sixty-two thousand one hundred and twenty-four Nov sixteen twenty-two :51 nginx-1.20.2.tar.gz
drwxrwxr-x sixteen root root four thousand and ninety-six Feb fifteen twenty-one :23 php-7.4.28
-rw-r--r-- one root root ten million four hundred and eighteen thousand three hundred and fifty-two Feb fifteen twenty-one :40 php-7.4.28.tar.xz

#Prepare to compile parameters
[ root@lnp-server-ip47 src]#cd php-7.4.28/
[ root@lnp-server-ip47 php-7.4.28]# ./configure --prefix=/apps/php74 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php. d --enable-mbstring --enable-xml --enable-sockets --enable-fpm -enable-maintainer-zts --disable-fileinfo
....................................
Thank you for using PHP. #You need to see this information to be successful

#View the number of CPUs and enter it as the compilation parameter CPU option
[ root@lnp-server-ip47 nginx-1.20.2]# lscpu
Architecture: x86_64
CPU op-mode(s): thirty-two -bit, sixty-four -bit
Byte Order: Little Endian
CPU(s): eight
On-line CPU(s) list: zero -7
[ root@lnp-server-ip47 php-7.4.28]#

#Compile Install
[ root@lnp-server-ip47 php-7.4.28]# make -j eight && make install

................... #Many screen contents are deleted here. You need to see the following success message before proceeding to the next step
Build complete.
Dont forget to run make test .

Installing shared extensions: /apps/php74/lib/php/extensions/no-debug-zts-20190902/
Installing PHP CLI binary: /apps/php74/bin/
Installing PHP CLI man page: /apps/php74/php/man/man1/
Installing PHP FPM binary: /apps/php74/sbin/
Installing PHP FPM defconfig: /apps/php74/etc/
Installing PHP FPM man page: /apps/php74/php/man/man8/
Installing PHP FPM status page: /apps/php74/php/php/fpm/
Installing phpdbg binary: /apps/php74/bin/
Installing phpdbg man page: /apps/php74/php/man/man1/
Installing PHP CGI binary: /apps/php74/bin/
Installing PHP CGI man page: /apps/php74/php/man/man1/
Installing build environment: /apps/php74/lib/php/build/
Installing header files: /apps/php74/include/php/
Installing helper programs: /apps/php74/bin/
program: phpize
program: php-config
Installing man pages: /apps/php74/php/man/man1/
page: phpize.1
page: php-config.1
/usr/local/src/php-7.4.28/build/shtool install -c ext/phar/phar.phar /apps/php74/bin/phar.phar
ln -s -f phar.phar /apps/php74/bin/phar
Installing PDO headers: /apps/php74/include/php/ext/pdo/

##############################################################################
##Prepare the php configuration file
#Copy from profile template and modify
[ root@lnp-server-ip47 php-7.4.28]# cp /usr/local/src/php-7.4.28/php.ini-production /etc/php.ini

#Enter the directory defined in the compilation parameters at that time/apps/php74/Copy from the template to create php-fpm.conf
[ root@lnp-server-ip47 php-7.4.28]# cd /apps/php74/etc
[ root@lnp-server-ip47 etc]# cp php-fpm.conf.default php-fpm.conf

#Enter the sub configuration file directory and create www.conf from the template file
[ root@lnp-server-ip47 etc]# cd php-fpm.d/

[ root@lnp-server-ip47 php-fpm.d]# cp www.conf.default www.conf
[ root@lnp-server-ip47 php-fpm.d]#

#Modify www.conf according to the idea of this practice
[ root@lnp-server-ip47 php-fpm.d]# vim www.conf
; user = nobody
user = www

; group = nobody
group = www

; pm.status_path = /status
pm.status_path = /status

; ping.path = /ping
ping.path = /ping

; access.log = log/$pool.access.log
access.log = log/$pool.access.log

; slowlog = log/$pool.log.slow
slowlog = log/$pool.log.slow

#The modified www.conf file is removed; All file contents of comment line are for comparison
[ root@lnp-server-ip47 php-fpm.d]# grep ^[^;] www.conf
[www]
user = www
group = www
listen = one hundred and twenty-seven .0 .1 :9000
pm = dynamic
pm.max_children = five
pm.start_servers = two
pm.min_spare_servers = one
pm.max_spare_servers = three
pm.status_path = /status
ping.path = /ping
access.log = log/$pool.access.log
slowlog = log/$pool.log.slow
[ root@lnp-server-ip47 php-fpm.d]#

#Create www user
[ root@lnp-server-ip47 php-fpm.d]# useradd -r -s /sbin/nologin www
#Create access log file path
[ root@lnp-server-ip47 php-fpm.d]# mkdir /apps/php74/log
[ root@lnp-server-ip47 php-fpm.d]#

##############################################################################
##Start and verify the php fpm service
#Check the configuration file syntax, etc
[ root@lnp-server-ip47 php-fpm.d]# /apps/php74/sbin/php-fpm -t
[28-Mar-2022 eighteen :05:51] NOTICE: configuration file /apps/php74/etc/php-fpm.conf test is successful
#Prepare startup service file
[ root@lnp-server-ip47 php-fpm.d]# cp /usr/local/src/php-7.4.28/sapi/fpm/php-fpm.service /usr/lib/systemd/system/

#Start and power on to automatically start php fpm
[ root@lnp-server-ip47 php-fpm.d]# systemctl daemon-reload
[ root@lnp-server-ip47 php-fpm.d]# systemctl enable --now php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
#Verify listening port
[ root@lnp-server-ip47 php-fpm.d]# ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN zero five hundred and eleven one hundred and twenty-seven .0 .1 :9000 *:*

#View and track process information
[ root@lnp-server-ip47 php-fpm.d]# pstree -p |grep php
|-php-fpm(20700)-+-php-fpm(20701)
| `-php-fpm(20702)
[ root@lnp-server-ip47 php-fpm.d]# ps -ef |grep php
root twenty thousand and seven hundred one zero eighteen :06 ? 00:00:00 php-fpm: master process (/apps/php74/etc/php-fpm.conf)
www twenty thousand seven hundred and one twenty thousand and seven hundred zero eighteen :06 ? 00:00:00 php-fpm: pool www
www twenty thousand seven hundred and two twenty thousand and seven hundred zero eighteen :06 ? 00:00:00 php-fpm: pool www
root twenty thousand seven hundred and seven five thousand and thirty-six zero eighteen :07 pts/0 00 :00:00 grep --color=auto php
[ root@lnp-server-ip47 php-fpm.d]#

4.2 Deploy Nginx service

4.2.1 Compiling and installing nginx

####Compile and install nginx
#Prepare Nginx to compile and install dependent packages
[ root@lnp-server-ip47 <sub> ] # yum -y install gcc pcre-devel openssl-devel zlib-devel
#Download nginx 1.20.2 source code package/usr/local/src/as the source code file storage directory
[ root@lnp-server-ip47 </sub> ] # cd /usr/local/src/
[ root@lnp-server-ip47 src ] # wget //nginx.org/download/nginx-1.20.2.tar.gz
#Decompress the source code package
[ root@lnp-server-ip47 src ] # tar xf nginx-1.20.2.tar.gz
[ root@lnp-server-ip47 src ] # ll
total one thousand and forty
drwxr-xr-x eight one thousand and one one thousand and one one hundred and fifty-eight Nov sixteen twenty-two : forty-four nginx -1.20 .2
-rw-r--r-- one root root one million sixty-two thousand one hundred and twenty-four Nov sixteen twenty-two : fifty-one nginx -1.20 .2 .tar.gz
[ root@lnp-server-ip47 src ] #

#Enter the nginx 1.20.2 directory to prepare the compilation parameters
[ root@lnp-server-ip47 src ] # cd nginx-1.20.2
[ root@lnp-server-ip47 nginx-1.20.2 ] # ./ configure --prefix=/apps/nginx \
> --user=www \
> -- group =www \
> --with-http_ssl_module \
> --with-http_v2_module \
> --with-http_realip_module \
> --with-http_stub_status_module \
> --with-http_gzip_static_module \
> --with-pcre \
> --with-stream \
> --with-stream_ssl_module \
> --with-stream_realip_module

[ root@lnp-server-ip47 nginx-1.20.2 ] # make -j 8 && make install

##############################################################################
#Prepare the service file and start nginx
[ root@lnp-server-ip47 nginx-1.20.2 ] # vim /usr/lib/systemd/system/nginx.service
[ root@lnp-server-ip47 nginx-1.20.2 ] # cat /usr/lib/systemd/system/nginx.service
[ Unit ]
Description=nginx - high performance web server
Documentation=http: //nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[ Service ]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[ Install ]
WantedBy=multi-user.target
[ root@lnp-server-ip47 nginx-1.20.2 ] #

#Create Directory
[ root@lnp-server-ip47 nginx-1.20.2 ] # mkdir /apps/nginx/run/

#Modify Profile
[ root@lnp-server-ip47 nginx-1.20.2 ] # vim /apps/nginx/conf/nginx.conf
#Only modify the contents of the following line
pid /apps/nginx/run/nginx.pid;

#Start and start the auto start service
[ root@lnp-server-ip47 wordpress ] # systemctl daemon-reload
[ root@lnp-server-ip47 wordpress ] # systemctl enable --now nginx
[ root@lnp-server-ip47 wordpress ] # ss -tln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN zero five hundred and eleven one hundred and twenty-seven .0 .1 : nine thousand *:*
LISTEN zero five hundred and eleven *: eighty *:*

[ root@lnp-server-ip47 wordpress ] #

4.2.2 Configure Nginx to support fastcgi

##############################################################################
####Configure Nginx to support fastcgi
[ root@lnp-server-ip47 nginx-1.20.2]# vim /apps/nginx/conf/nginx.conf
#Only modify the following contents, and the default values of other cities
worker_processes auto;
pid /apps/nginx/run/nginx.pid;
server {
listen 80;
server_name blog.shone.cn;
location / {
root /data/nginx/wordpress;
index index.php index.html index.htm;
}

location <sub> \.php$ {
root /data/nginx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location </sub> ^/(ping|pm_status)$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
}

#Filter out valid configuration lines through commands

[ root@lnp-server-ip47 nginx-1.20.2]# grep -Ev #|^$ /apps/nginx/conf/nginx.conf
worker_processes auto;
pid /apps/nginx/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name blog.shone.cn; # Specify domain name
location / {
root /data/nginx/wordpress; # Specify Data Directory
index index.php index.html index.htm; # Specify the default home page file
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location <sub>. php ${# Implement php fpm
root /data/nginx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location </sub>^/(ping | pm_status) ${# PHP detection status page
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
}
}
}
[ root@lnp-server-ip47 nginx-1.20.2]#

#Restart nginx to make the new configuration file take effect

[ root@lnp-server-ip47 php-fpm.d]# systemctl reload nginx
[ root@lnp-server-ip47 php-fpm.d]# ss -ltn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 511 127.0.0.1:9000 *:*
LISTEN 0 511 *:80 *:*

[ root@lnp-server-ip47 php-fpm.d]#

4.2.3 Test whether PHP works normally

Prepare Test Page

[ root@lnp-server-ip47 php-fpm.d] # mkdir -p /data/nginx/wordpress
[ root@lnp-server-ip47 php-fpm.d] # vim /data/nginx/wordpress/phpinfo.php
[ root@lnp-server-ip47 php-fpm.d] # cat /data/nginx/wordpress/phpinfo.php
<? php
phpinfo();
?>

Test the ping of PHP

View Status Page

5. Deploy WordPress

5.1 Preparing WordPress files

#Download the source file, copy it to the page directory defined previously, and modify the ownership
[ root@lnp-server-ip47 <sub>]# wget //cn.wordpress.org/latest-zh_CN.tar.gz
[ root@lnp-server-ip47 </sub>]# ll
total nineteen thousand and twelve
-rw-r--r-- one root root nineteen million four hundred and sixty-two thousand one hundred and ninety-seven Mar nineteen 00 :00 latest-zh_CN.tar.gz
[ root@lnp-server-ip47 <sub>]# tar xf latest-zh_CN.tar.gz
[ root@lnp-server-ip47 </sub>]# ll
total nineteen thousand and sixteen
-rw-r--r-- one root root nineteen million four hundred and sixty-two thousand one hundred and ninety-seven Mar nineteen 00 :00 latest-zh_CN.tar.gz
drwxr-xr-x five one thousand and six one thousand and six four thousand and ninety-six Mar nineteen 00 :00 wordpress
[ root@lnp-server-ip47 <sub>]# cp -r wordpress/* /data/nginx/wordpress
[ root@lnp-server-ip47 </sub>]# chown -R www.www /data/nginx/wordpress/
[ root@lnp-server-ip47 ~]#

5.2 Initializing WordPress

#Modify WIN10 Local to hosts File with path C :\ Windows \ System32 \ drivers \ etc \ hosts Add a line at the end
one hundred and ninety-two .168 .250 .47 blog .shone .cn

Enter in browser blog .shone .cn The initialization wizard of traceable cloud appears, and complete the initialization according to the wizard

Enter in browser //blog.shone.cn

6. Optimize WordPress

6.1 Allow to upload large files

#Note: By default, only files below 1M can be uploaded. To upload large files using the php program, you need to modify the following configuration. The maximum upload is determined by the minimum value of the following items. If you directly upload files larger than 1M, the following 413 error will appear

[ root@lnp-server-ip47 wordpress] # vim /apps/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;

#log_format main $remote_addr - $remote_user [$time_local] "$request"
# $status $body_bytes_sent "$http_referer"
# "$http_user_agent" "$http_x_forwarded_for";

#access_log logs/access.log main;
client_max_body_size one hundred m; #The upload file size of nginx is changed to 100M, and the default size is 1M
.........

[ root@lnp-server-ip47 wordpress] # vim /etc/php.ini
; http: / /php.net/post -max-size
; post_max_size = eight M #The default value is 8M
post_max_size = thirty M

; upload_max_filesize = two M #The default value is 2M
upload_max_filesize = twenty M

[ root@lnp-server-ip47 wordpress] # systemctl restart nginx php-fpm

6.2 Safety reinforcement

#Turn off version display
[ root@lnp-server-ip47 wordpress]# grep -Ev #|^$ /apps/nginx/conf/nginx.conf
worker_processes auto;
pid /apps/nginx/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 100m;
sendfile on;

keepalive_timeout 65;
server {
listen 80;
server_name blog.shone.cn;
server_tokens off; # Security hardening options
location / {
root /data/nginx/wordpress;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

location <sub> \.php$ {
root /data/nginx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_hide_header X-Powered-By; # Security hardening options
}
location </sub> ^/(ping|pm_status)$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
}
}
}
[ root@lnp-server-ip47 wordpress]#

#Turn off PHP version exposure
[ root@lnp-server-ip47 wordpress]# vim /etc/php.ini
; //php.net/expose-php
; expose_php = On # The default value is ON. You can see the version information on the client
expose_php = Off

6.3 Configuring php to enable opcache acceleration

[ root@lnp-server-ip47 wordpress ] # vim /etc/php.ini
.....................
[ opcache ]
; Determines if Zend OPCache is enabled
zend_extension=opcache.so
opcache.enable= one
.......................

[ root@lnp-server-ip47 wordpress ] #systemctl restart php-fpm

This article is transferred from:

//blog.51cto.com/shone/5165650

This article is written by: Chief Editor Published on Software Development of Little Turkey , please indicate the source for reprinting: //hongchengtech.cn/blog/1509.html
Kuke_WP editor
author

Related recommendations

1 year ago (2024-02-20)

Industry Fit! Preferred element of WMS warehouse management system, wms warehouse software

Enterprise managers often think that warehouses are inefficient, high cost places, and belong to heavy asset operations. With the development of enterprise business, if the warehouse needs to be expanded in traditional ways, the cost is relatively high. At the same time, it also faces problems such as lack of operating experience. In the operation link, the process of warehouse, allocation, human resource matching and management is very complicated, and the team's professional ability is also highly required
seven hundred and eighty-three
zero
1 year ago (2024-02-19)

Supply chain billing system management (I): system overview, what are the supply chain management fees

In recent years, with the continuous development of e-commerce industry and increasing business, everyone has started to distribute goods online, and the supply chain billing system needs to manage more and more things. How to manage the billing system? The author summarizes some contents about settlement based on his own practical experience, hoping to enlighten you. After working on the warehouse management system for several years, I was transferred to work as a supplier
five hundred and fifty-six
zero
1 year ago (2024-02-19)

Multi merchant system management - store background design, what is the meaning of multi merchant classification

Simply understood, multi merchants are a large mall. The platform can manage merchants who settle in the mall. The merchants who settle in the mall have independent backstage. They can log in and add goods to the shelves by themselves, manage stores by themselves and other information functions. Then how to design the backstage of the store? Let's see the author's sharing. I hope it can help you. 1、 Introduction The backstage of the store is an important part of the e-commerce platform
six hundred and forty-eight
zero
1 year ago (2024-02-19)

Jiangyang District of Luzhou City took the lead in the city's full coverage training on domestic waste classification management regulations, Luzhou waste treatment

Source: Original Draft On January 10, the People's Congress of Jiangyang District, Luzhou City and the District Government jointly carried out a training on the regulations of the Regulations on the Classified Management of Domestic Waste in Luzhou City (the Regulations for short), and invited Lei Zhengyun, the chairman of the Legislative Affairs Committee of the Municipal People's Congress, to give a live lecture, so as to guide the comprehensive and systematic grasp of the contents and legal functions and responsibilities of the Regulations, deeply understand the specific specifications of the Regulations, and quickly set off
three hundred and seventeen
zero
1 year ago (2024-02-19)

Simeng CMS (smcms) content management system, Simeng Central Primary School

SMCMS (Simon CMS) is a content management system developed based on the microbee http rapid development framework. Product development follows the concept of simplicity, security, high concurrency and efficiency. Enterprise level web content management software for high-end users is designed to help users solve the increasingly complex and important web content creation, maintenance, publishing and response
three hundred and sixty-one
zero
1 year ago (2024-02-19)

Does the website have to install a content management system?, What apps are needed to install software on the website

1: The role of the website is to let companies or enterprises display their own windows, but also to let more customers or potential customers know their work and products. Through the website, customers can understand their products and services more intuitively, and can also provide more services to meet customer needs. 2: The role of the content management system The content management system can help
four hundred and fifty-six
zero

comment

0 people have participated in the review

Scan code to add WeChat

contact us

WeChat: Kuzhuti
Online consultation: