1. 动静分离实战

1.1.1 nginx+tomcat 动静分离

主机 用途
10.0.0.63 tomcat服务器
10.0.0.64 nginx服务器

1.1.2 安装 java+tomcat环境[10.0.0.63]

1.tomcat配置:
mkdir /server/tools
cd /server/tools
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
tar xf apache-tomcat-9.0.34.tar.gz -C /application/
ln -s /application/apache-tomcat-9.0.34 /application/tomcat 2. java环境配置:
rpm -ivh https://www.chenleilei.net/soft/jdk-8u121-linux-x64.rpm [可能要等很久,可以先下载再安装] [root@master tools]# rpm -ivh https://www.chenleilei.net/soft/jdk-8u121-linux-x64.rpm
Retrieving https://www.chenleilei.net/soft/jdk-8u121-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_121-2000:1.8.0_121-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar... 3. 启动tomcat:
/application/tomcat/bin/startup.sh #查看进程
[root@master tomcat]# ps -ef|grep java
root 4005 1 56 19:20 pts/0 00:00:02 /usr/bin/java -Djava.util.logging.config.file=/application/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/application/tomcat -Dcatalina.home=/application/tomcat -Djava.io.tmpdir=/application/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 4036 1390 0 19:20 pts/0 00:00:00 grep --color=auto java

1.1.3 安装nginx环境[10.0.0.64]

useradd  www -u 1200 -M -s /sbin/nologin
mkdir -p /var/log/nginx
yum install -y cmake pcre pcre-devel openssl openssl-devel gd-devel \
zlib-devel gcc gcc-c++ net-tools iproute telnet wget curl &&\
yum clean all && \
rm -rf /var/cache/yum/*
mkdir -p /server/tools
cd /server/tools
wget https://www.chenleilei.net/soft/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_image_filter_module --user=www --group=www \
--with-http_ssl_module --with-http_v2_module --with-http_stub_status_module \
--pid-path=/var/run/nginx/nginx.pid
make -j 4 && make install && \
rm -rf /usr/local/nginx/html/* && \
echo "nginx daemo hello" >/usr/local/nginx/html/index.html && \
echo "export PATH=$PATH:/usr/local/nginx/sbin" >>/etc/profile
chown -R www.www /var/log/nginx /usr/local/nginx
source /etc/profile
nginx -s reload
ps -ef|grep nginx

1.1.4 nfs配置[10.0.0.64]

[root@k8s-master2 webapps]# cat /etc/exports
/application/tomcat/webapps 10.0.0.0/24(rw,sync,no_root_squash)
#这里是配置任何人可读可写. 重新启动nfs服务
systemctl restart nfs.service rpcbind.service

1.1.5 tomcat服务器挂载NFS目录

本机挂载本机 没办法一样的目录挂载 所以改成了webapps1 然后挂载为网页目录 /application/tomcat/webapps

其他服务器同样的挂载方式

[]#  mount -t nfs 10.0.0.64:/application/tomcat/webapps1 /application/tomcat/webapps
[root@master tools]# cd /application/tomcat/webapps/
[root@master webapps]# ls
docs examples host-manager manager ROOT [root@master tools]# cd /application/tomcat/webapps1/
[root@master webapps1]# ls
docs examples host-manager manager ROOT 简单测试:
10.0.0.63:
[root@master webapps]# touch leilei
[root@master webapps]# ls
docs examples host-manager leilei manager ROOT 10.0.0.64:
[root@k8s-master2 webapps]# ls
docs examples host-manager leilei manager ROOT #看到创建成功就没什么问题了,说明现在两台服务器使用的都是一个共享目录 /application/tomcat/webapps/ROOT. 这里面就有jsp页面.用于测试tomcat.动态页面.

1.1.6 nginx反向代理tomcat,配置动静分离[10.0.0.64]

[root@k8s-master2 nginx]# egrep -v "#|^$" conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream tomcat {
server 10.0.0.63:8080;
}
server {
listen 80;
server_name 10.0.0.64;
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf)$ {
root /application/tomcat/webapps/ROOT/;
}
location ~ \.jsp$ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

1.1.7 成功结果

1.2 nignx+php 通过TCP连接实现动静分离实验

实验环境:

主机 用途
10.0.0.63 nginx服务器
10.0.0.64 php服务器
通过TCP连接实现动静分离 实际上就是通过9000端口解析php文件

1. 如果php和nginx不在同一台服务器,那么就需要双方都有nginx的用户,和用户uid,以及相同目录.这样才能够请求解析成功
2. 同时 www.conf 文件中的127.0.0.1:9000 需要改为 0.0.0.0:9000 用于监听所有,或者指定php服务器的ip地址. useradd www -u 1200 -M -s
mkdir -p /usr/local/nginx/html
chown -R www.www /usr/local/nginx/html
chmod -R 755 /usr/local/nginx/html 这里我们规划网页: /usr/local/nginx/html
在php环境中也需要创建该目录,或者直接使用NFS来处理数据一致性问题.

1.2.1 安装PHP [10.0.0.64]

yum install -y curl && \
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo && \
yum clean all && \
yum remove oniguruma-devel -y && \
yum remove oniguruma -y && \
rpm -ivh https://www.chenleilei.net/soft/docker/oniguruma-6.7.0-1.el7.x86_64.rpm && \
rpm -ivh https://www.chenleilei.net/soft/docker/oniguruma-devel-6.7.0-1.el7.x86_64.rpm && \
yum install -y cmake pcre pcre-devel openssl openssl-devel gd-devel \
zlib-devel gcc gcc-c++ net-tools iproute telnet wget curl \
wget vim libxml2 libxml2-devel openssl openssl-devel libjpeg-turbo \
libjpeg-turbo-devel libpng-devel libpng freetype-devel freetype icu \
libicu-devel libicu libmcrypt libmcrypt-devel libxslt libxslt-devel php-mysql libsqlite3x-devel && \
rm -rf /var/cache/yum/*
useradd www -u 1200 -M -s /sbin/nologin && \
mkdir -p /usr/local/nginx/html && \
chown -R www.www /usr/local/nginx/html && chmod -R 755 /usr/local/nginx/html && \
wget https://www.chenleilei.net/soft/php-7.4.3.tar.gz && \
tar xf php-7.4.3.tar.gz && \
cd php-7.4.3 && \
./configure --prefix=/usr/local/php-7.4.3 \
--with-config-file-path=/usr/local/php-7.4.3/etc \
--with-config-file-scan-dir=/usr/local/php-7.4.3/conf.d \
--enable-fpm --with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-zlib \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--enable-intl \
--with-xsl && \
make -j 4 && make install && \
cp ./sapi/fpm/php-fpm.conf /usr/local/php-7.4.3/etc/ && \
cp php.ini-production /usr/local/php-7.4.3/etc/php.ini && \
cp /usr/local/php-7.4.3/etc/php-fpm.d/www.conf.default /usr/local/php-7.4.3/etc/php-fpm.d/www.conf && \
sed -i "s#127.0.0.1:9000#0.0.0.0:9000#g" /usr/local/php-7.4.3/etc/php-fpm.d/www.conf && \
sed -in '99idaemonize = yes' /usr/local/php-7.4.3/etc/php-fpm.conf && \
cp /php-7.4.3/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && \
chmod a+x /etc/init.d/php-fpm && \
rm -rf ../php-7.4.3.tar.gz && \
/etc/init.d/php-fpm start

1.2.2 安装Nginx [10.0.0.65]

useradd  www -u 1200 -M -s /sbin/nologin
mkdir -p /var/log/nginx
yum install -y cmake pcre pcre-devel openssl openssl-devel gd-devel \
zlib-devel gcc gcc-c++ net-tools iproute telnet wget curl &&\
yum clean all && \
rm -rf /var/cache/yum/*
mkdir -p /server/tools
cd /server/tools
wget https://www.chenleilei.net/soft/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_image_filter_module --user=www --group=www \
--with-http_ssl_module --with-http_v2_module --with-http_stub_status_module \
--pid-path=/var/run/nginx/nginx.pid
make -j 4 && make install && \
rm -rf /usr/local/nginx/html/* && \
echo "nginx daemo hello" >/usr/local/nginx/html/index.html && \
echo "export PATH=$PATH:/usr/local/nginx/sbin" >>/etc/profile
chown -R www.www /var/log/nginx /usr/local/nginx
source /etc/profile
nginx -s reload
ps -ef|grep nginx

1.2.3 TCP动静分离配置要点

nginx开启php解析配置:

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} 注意: 如果nginx php不在同一台服务器,这里需要指向php服务器地址,并且 php服务器需要有nginx的html目录.
建议做 NFS,让php服务器nginx服务器的 html目录内容保持一致,这里还有个问题就是.php服务器也需要有nginx的运行用户
且他们的UID PID相同. 因为经过远程调用还是使用的nginx去请求的,对端如果没有nginx用户,则无法请求到资源.
所以php服务器需要执行: useradd www -u 1200 -M -s /sbin/nologin

1.2.4 安装NFS [做数据一致性]

在php nginx任意一台配置一个nfs都可以

这里就选择在 php [10.0.0.64]服务器上配置一个nfs 吧
1. 检查是否安装
rpm -aq nfs-utils rpcbind 2. 安装nfs服务
yum install nfs-utils rpcbind -y 3. 检查rcpbind状态
systemctl status rpcbind 4. 检查nfs状态
systemctl status nfs 5. 开机启动nfs
systemctl enabled nfs 6. 配置NFS
mkdir /usr/local/nginx/html -p
chown -R www.www /usr/local/nginx/html 编辑 /etc/exports 改为下面cat的内容
[root@k8s-master2 php-7.4.3]# cat /etc/exports
/usr/local/nginx/html 10.0.0.0/24(rw,sync,all_squash,anonuid=1200,anongid=1200) 7. 启动rpcbind,nfs
systemctl status rpcbind
systemctl start nfs 8. 检查是否能够获取到挂载:
[root@k8s-master2 php-7.4.3]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/usr/local/nginx/html 10.0.0.0/24 9. 由于我们是在 PHP服务器 上配置的NFS,我们还需要在nginx上挂载这个NFS磁盘.
安装相关软件: yum install nfs-utils rpcbind -y
检查是否检测到共享的目录:
[root@k8s-node1 html]# showmount -e 10.0.0.64
Export list for 10.0.0.64:
/usr/local/nginx/html 10.0.0.0/24 挂载nfs目录到本地:
mount -t nfs 10.0.0.64:/usr/local/nginx/html /usr/local/nginx/html
systemctl restart nfs rpcbind 10. 检查同步
10.0.0.64服务器 /usr/local/nginx/html 创建 chenleilei.txt
touch /usr/local/nginx/html/chenleilei.txt 10.0.0.65服务器检查 /usr/local/nginx/html 是否创建了 chenleilei.txt
[root@k8s-node1 html]# ls /usr/local/nginx/html
chenleilei.txt
检查无误.

1.2.5 php解析配置

echo '<?php phpinfo(); ?>' > /usr/local/nginx/html/index.php

1.2.6 nginx配置php解析

1. 添加php的默认页:
index index.php index.html index.htm; 2. 增加php解析:
location ~ \.php$ {
root html;
fastcgi_pass 10.0.0.64:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

1.2.7 成功的结果

访问 ip/index.php测试

1.3 ninx+php通过soket文件实现动静分离

通过soket实现动静分离,它没有网络开销,速度更快.
缺点: 通过socket的方式虽然可以实现更快的解析.但是,php和nginx必须在同一台服务器中.
所以这个实验都是在 10.0.0.64 服务器中配置完成.

1.3.1 安装php

1. 安装php
yum install -y curl
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum remove oniguruma-devel -y
yum remove oniguruma -y
rpm -ivh https://www.chenleilei.net/soft/docker/oniguruma-6.7.0-1.el7.x86_64.rpm
rpm -ivh https://www.chenleilei.net/soft/docker/oniguruma-devel-6.7.0-1.el7.x86_64.rpm
yum install -y cmake pcre pcre-devel openssl openssl-devel gd-devel \
zlib-devel gcc gcc-c++ net-tools iproute telnet wget curl \
wget vim libxml2 libxml2-devel openssl openssl-devel libjpeg-turbo \
libjpeg-turbo-devel libpng-devel libpng freetype-devel freetype icu \
libicu-devel libicu libmcrypt libmcrypt-devel libxslt libxslt-devel php-mysql libsqlite3x-devel && \
rm -rf /var/cache/yum/*
useradd www -u 1200 -M -s /sbin/nologin && mkdir -p /usr/local/nginx/html && chown -R www.www /usr/local/nginx/html && chmod -R 755 /usr/local/nginx/html
wget https://www.chenleilei.net/soft/php-7.4.3.tar.gz
tar xf php-7.4.3.tar.gz
WORKDIR php-7.4.3
./configure --prefix=/usr/local/php-7.4.3 \
--with-config-file-path=/usr/local/php-7.4.3/etc \
--with-config-file-scan-dir=/usr/local/php-7.4.3/conf.d \
--enable-fpm --with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir \
--with-zlib \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--with-gettext \
--disable-fileinfo \
--enable-opcache \
--enable-intl \
--with-xsl
make -j 4 && make install
cp ./sapi/fpm/php-fpm.conf /usr/local/php-7.4.3/etc/php-fpm.conf && \
cp /php-7.4.3/php.ini-production /usr/local/php-7.4.3/etc/php.ini && \
cp /usr/local/php-7.4.3/etc/php-fpm.d/www.conf.default /usr/local/php-7.4.3/etc/php-fpm.d/www.conf && \
sed -i "s#127.0.0.1:9000#0.0.0.0:9000#g" /usr/local/php-7.4.3/etc/php-fpm.d/www.conf && \
sed -in '99idaemonize = yes' /usr/local/php-7.4.3/etc/php-fpm.conf && \
cp /php-7.4.3/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm && \
chmod a+x /etc/init.d/php-fpm
rm -rf /php-7.4.3.tar.gz
/etc/init.d/php-fpm start 2. 配置php socket : vim /usr/local/php-7.4.3/etc/php-fpm.d/www.conf 大约36行加入: listen = /dev/shm/php-fpm.sock
listen.mode = 0660 3. 保存退出后重启php:
/etc/init.d/php-fpm restart 此时的php已经不再监听网卡了,而是通过 /dev/shm/php-fpm.sock 与nginx进行交互. [root@k8s-master2 nginx-1.16.1]# ll /dev/shm/php-fpm.sock
srw-rw---- 1 root root 0 Apr 15 16:20 /dev/shm/php-fpm.sock 4. 让nginx的php解析也向 socket配置 location ~ \.php$ {
root html;
fastcgi_pass unix:/dev/shm/php-fpm.sock; #<<<--- 这里指定socket地址
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
} 5. 配置测试页面:
echo '<?php phpinfo(); ?>' > /usr/local/nginx/html/index.php

1.3.2. 安装nginx

useradd  www -u 1200 -M -s /sbin/nologin
mkdir -p /var/log/nginx
yum install -y cmake pcre pcre-devel openssl openssl-devel gd-devel \
zlib-devel gcc gcc-c++ net-tools iproute telnet wget curl &&\
yum clean all && \
rm -rf /var/cache/yum/*
mkdir -p /server/tools
cd /server/tools
wget https://www.chenleilei.net/soft/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_image_filter_module --user=www --group=www \
--with-http_ssl_module --with-http_v2_module --with-http_stub_status_module \
--pid-path=/var/run/nginx/nginx.pid
make -j 4 && make install && \
rm -rf /usr/local/nginx/html/* && \
echo "nginx daemo hello" >/usr/local/nginx/html/index.html && \
echo "export PATH=$PATH:/usr/local/nginx/sbin" >>/etc/profile
chown -R www.www /var/log/nginx /usr/local/nginx
source /etc/profile
nginx -s reload
ps -ef|grep nginx

1.3.3 socket动静分离配置

1. php-fpm.conf配置文件修改:
vim /usr/local/php-7.4.3/etc/php-fpm.d/www.conf 大约36行添加或修改为如下:
listen = /dev/shm/php-fpm.sock
listen.mode = 0666 2.编辑 nginx.conf 配置文件添加或 "修改为" 如下行: location ~ \.php$ {
root html;
fastcgi_pass unix:/dev/shm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} 3. 重启php-fpm和nginx
nginx -s reload
/etc/init.d/php-fpm restart

1.3.4 成功结果

nginx+php,nginx+tomcat动静分离实战的更多相关文章

  1. Nginx 和 IIS 实现动静分离

    前段时间,搞Nginx+IIS的负载均衡,想了解的朋友,可以看这篇文章:<nginx 和 IIS 实现负载均衡>,然后也就顺便研究了Nginx + IIS 实现动静分离.所以,一起总结出来 ...

  2. Nginx 和 IIS 实现动静分离【转载】

    前段时间,搞Nginx+IIS的负载均衡,想了解的朋友,可以看这篇文章:<nginx 和 IIS 实现负载均衡>,然后也就顺便研究了Nginx + IIS 实现动静分离.所以,一起总结出来 ...

  3. Nginx 和 IIS 实现动静分离(转)

    转载地址:https://www.cnblogs.com/paul8339/p/5825201.html 动静分离,说白了,就是将网站静态资源(HTML,JavaScript,CSS,img等文件)与 ...

  4. Nginx 反向代理功能-动静分离

    Nginx 反向代理功能-动静分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  5. Nginx 配置实例-配置动静分离

    Nginx 配置实例-配置动静分离 1. 静态资源的创建 2. nginx 动静分离的配置 3. 验证 1. 静态资源的创建 这里使用的静态资源主要为 HTML 静态文件和图片. mkdir -vp ...

  6. 企业实战Nginx+Tomcat动静分离架构的技术分享

    Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat.Re ...

  7. nginx tomcat 动静分离

    所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件</span>,从而达到动静页面 ...

  8. Nginx + Tomcat 动静分离实现负载均衡(转)

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...

  9. nginx+tomcat动静分离结构

    本文采用另一种策略对动静分离进行演示,它的大致结构如图 2 所示. 图 2. 本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 ...

  10. Nginx + Tomcat 动静分离实现负载均衡

    0.前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. 1.一份Nginx.conf配置文件 # 定义Nginx运行的用户 和 用户组 如果对 ...

随机推荐

  1. Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件-Nacos 、Sentinel等

    概述 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用服务的必需组件. 方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发 ...

  2. k8s 深入篇———— docker 是什么[一]

    前言 简单的整理一下一些基本概念. 正文 简单运行一个容器: 创建一个容器: docker run -it busybox /bin/bash 然后看下进程: ps -ef 做了一个障眼法,使用的是p ...

  3. redis 简单整理——发布与订阅[十四]

    前言 简单介绍一下redis的发布与订阅. 正文 Redis提供了基于"发布/订阅"模式的消息机制,此种模式下,消息发布 者和订阅者不进行直接通信,发布者客户端向指定的频道(cha ...

  4. c#程序员必学清单补充

    作为 C# 程序员,除了上述经典书籍和开源框架外,还需要掌握以下技术: 1. .NET Core 和 ASP.NET Core:了解并熟练掌握 .NET Core 和 ASP.NET Core 框架, ...

  5. 力扣242(java)-有效的字母异位词(简单)

    题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词. 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词. 示例 1: 输入: s ...

  6. HarmonyOS NEXT应用开发案例——二级联动

    介绍 本示例主要介绍了List组件实现二级联动(Cascading List)的场景. 该场景多用于短视频中拍摄风格的选择.照片编辑时的场景的选择. 效果图预览 使用说明: 滑动二级列表侧控件,一级列 ...

  7. 阿里云数字化安全生产平台 DPS V1.0 正式发布!

    ​简介:数字化安全生产平台则帮助客户促进业务与 IT 的全面协同,从业务集中监控.业务流程管理.应急指挥响应等多维度来帮助客户建立完善专业的业务连续性保障体系. 作者:银桑.比扬 阿里云创立于 200 ...

  8. [GPT] 对于一个复杂的html文档而言,如何用 js 批量替换页面上的某些文字从A替换为B,前提是不能去掉标签和已绑定的事件

      原生:示例代码 function replaceTextInDocument(node) { if (node.nodeType === Node.TEXT_NODE) { node.textCo ...

  9. [公链观点] BTC 1.0, ETH 2.0, EOS 3.0, Dapp, WASM, DOT, ADA, VNT

    Dapp 发展史 WASM 兼容Web的编码方式 Cardano(ADA 艾达币) 权益挖矿 VNT chain 解决联盟链和公链的跨链基础项目 跨链项目 Polkadot (DOT 波卡币) 是不是 ...

  10. JavaScript 如何实现一个响应式系统

    JavaScript 如何实现一个响应式系统 第一阶段目标 数据变化重新运行依赖数据的过程 第一阶段问题 如何知道数据发生了变化 如何知道哪些过程依赖了哪些数据 第一阶段问题的解决方案 我们可用参考现 ...