CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

什么是LNMP

 

LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站、博客、论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一。

 

部署方式

 

从网站规模大小(访问流量、注册用户等)角度来看,LNMP架构可以使用单机部署方式和集群部署方式。单机部署方式即所有的软件都部署在一台Linux服务器上;集群部署方式可以将Nginx网络服务器,MySQL/MariaDB数据库,PHP软件分开安装到不同的服务器上,它们彼此之间通过TCP网络协议相互通信协助工作,以及对外提供Web应用访问服务。因此,当单台服务器不能满足性能要求时,可以使用集群方式部署。

 

本教程将指导您如何在RHEL 7/CentOS 7以及Fedora 23/24/25等衍生版本中使用Nginx 1.10, MariaDB 10PHP 6安装LNMP应用服务器环境。(在其他系统如SUSEUbuntu中源码编译安装LNMP同样可以参考本教程。)


前提要求

 

准备2RHEL 7CentOS 7服务器,一台用于安装MariaDB,另一台用于安装NginxPHP。当然你也可以仅仅使用1台服务器部署LNMP以通过实验来验证LNMP

HOSTNAME IP OS NODE

hming-server217-mdb

10.0.6.217 CentOS 7.2 x86_64 MariaDB
hming-server218-web 10.0.6.218 CentOS 7.2 x86_64 MariaDB,Nginx,PHP


主软件包(源码包)

 

DB      mariadb-10.1.20.tar.gz

PHP     php-5.6.30.tar.bz2

Nginx   nginx-1.10.2.tar.gz


注意:主软件包在这之前我已经提前下载好了,可能并不是最新和稳定版,你也可以根据你的需求选择其他版本。


依赖软件


源码编译安装LNMP有许多依赖软件(如gccmake)是必要的,一般可以通过YUM软件管理程序来安装,另外小部分需要源码编译安装。


通过yum安装gccgcc-c++make等必需软件包

1
# yum install -y gcc gcc-c++ make automake


安装MariaDB


1. 使用yum安装gccmakebisonncurses-devel等依赖软件包

1
# yum install zlib-devel ncurses ncurses-devel bison


2. 安装cmakecmake是编译MySQL/MariaDB的必要工具(MySQL5.6/MariaDB 10及以后的版本你可以在网站https://cmake.org/中下载cmake软件包

 

将软件包上传到/usr/local/src目录下,然后解压cmake包,cdcmake目录执行./bootstrap脚本进行安装,同时可以使用--prefix=<install dir>选项指定安装的目录。

1
2
3
4
# tar -zxf cmake-3.7.2.tar.gz
# cd cmake-3.7.2/
# ./bootstrap --prefix=/usr/local/cmake
# make && make install


当安装完之后,你可以使用执行/usr/local/cmake/bin/cmake --version查看安装的cmake版本

1
2
3
4
[root@hming-server217-mdb ~ ] # /usr/local/cmake/bin/cmake --version
cmake version 3.7.2
  
CMake suite maintained and supported by Kitware (kitware.com /cmake ).


3. 安装完cmake编译工具之后,接下来我们安装MariaDB(你可以访问https://mariadb.org/下载MariaDB), 首先创建MariaDB安装目录/usr/local/mysql和数据库服务器的数据目录/data/mysql/webdata,并创建MySQL用户,并将/data/mysql/webdata目录的所属主权限修改为mysql用户


创建安装目录和数据目录

1
2
# mkdir /usr/local/mysql
# mkdir /data/mysql/webdata -p


创建mysql用户,并修改数据目录的权限

1
2
3
# groupadd mysql
# useradd -r -g mysql -s /sbin/nologin mysql -M
# chown -R mysql:mysql /data/mysql/


4. 编译安装MariaDB,将MariaDB软件包解压后使用cmake进行编译,根据需求选择相应的编译参数进行编译(查看编译选项/usr/local/cmake/bin/cmake . -LH).  (或者访问MariaDB编译安装帮助文档https://mariadb.com/kb/en/mariadb/compiling-mariadb-from-source/)

1
2
3
4
[root@hming-server217-mdb  /usr/local/src  ] # tar -zxf mariadb-10.1.20.tar.gz
[root@hming-server217-mdb  /usr/local/src  ] # cd mariadb-10.1.20/
  
[root@hming-server217-mdb  /usr/local/src/mariadb-10 .1.20 ] # /usr/local/cmake/bin/cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/webdata -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/data/mysql/webdata/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_READLINE=1 -DWITH_DEBUG=0


执行gmake  gmake install进行最后的安装

1
2
[root@hming-server217-mdb  /usr/local/src/mariadb-10 .1.20 ] # gmake
[root@hming-server217-mdb  /usr/local/src/mariadb-10 .1.20 ] # gmake install


5. 配置mysql环境变量,如果不配置默认系统找不到mysql的可执行程序和命令,否则你必须使用全路径执行与mysql相关的任何命令,查看系统默认的环境变量


使用export命令添加mysql环境变量

1
2
3
[root@hming-server217-mdb ~ ] # export PATH=$PATH:/usr/local/mysql/bin
[root@hming-server217-mdb ~ ] # echo $PATH
/usr/local/sbin : /usr/local/bin : /usr/sbin : /usr/bin : /root/bin : /usr/local/mysql/bin


最后将mysql环境配置添加到/etc/profile或者/etc/profile.d/的自定义文件中

1
2
[root@hming-server217-mdb ~ ] # echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
[root@hming-server217-mdb ~ ] # source /etc/profile.d/mysql.sh


配置了环境变量,我们就可以直接在shell终端下执行mysql命令,使用mysql -V查看mysql版本

1
2
[root@hming-server217-mdb ~ ] # mysql -V
mysql  Ver 15.1 Distrib 10.1.20-MariaDB,  for  Linux (x86_64) using readline 5.1


6. 添加MariaDB库文件

1
[root@hming-server217-mdb ~ ] # echo "/usr/local/mysql/lib" >> /etc/ld.so.conf.d/mariadb-x86_64.conf


7. 拷贝MariaDB服务启动脚本到/etc/init.d/目录中

1
2
3
4
5
[root@hming-server217-mdb ~ ] # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@hming-server217-mdb ~ ] # chmod 755 /etc/init.d/mysqld
[root@hming-server217-mdb ~ ] # chkconfig --add mysqld
[root@hming-server217-mdb ~ ] # chkconfig mysqld on
[root@hming-server217-mdb ~ ] # systemctl daemon-reload


8. 执行初始化数据库脚本,安装MariaDB基础数据库(执行./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/webdata --user=mysql --no-defaults)

1
2
3
4
5
[root@hming-server217-mdb ~ ] # cd /usr/local/mysql/scripts/
[root@hming-server217-mdb  /usr/local/mysql/scripts  ] # ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/webdata --user=mysql --no-defaults
[root@hming-server217-mdb  /usr/local/mysql/scripts  ] # ls /data/mysql/webdata/
aria_log.00000001  ibdata1      ib_logfile1  performance_schema
aria_log_control   ib_logfile0  mysql         test


9. 配置/etc/my.cnf,该文件是mysql服务的主要配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@hming-server217-mdb ~ ] # cp /etc/my.cnf /etc/my.cnf.save
[root@hming-server217-mdb ~ ] # cat /etc/my.cnf
[client]
port=3306
socket= /data/mysql/webdata/mysql .sock
default-character- set =utf8
  
[mysqld]
port=3306
user=mysql
basedir= /usr/local/mysql
datadir= /data/mysql/webdata
socket= /data/mysql/webdata/mysql .sock
character- set -server=utf8
external-locking=FALSE
skip-name-resolv
default-storage-engine=InnoDB
back_log=1024
transaction_isolation=REPEATABLE-READ
max_connections=5000
max_connect_errors=6000
open_files_limit=65535
table_open_cache=512
  
[mysqldump]
quick
max_allowed_packet=32M
  
[mysql]
no-auto-rehash
default-character- set =utf8
  
[mysqld_safe]
open -files-limit=8192
log-error= /var/log/mariadb/mariadb .log
pid- file = /var/run/mariadb/mariadb .pid


创建/var/log/mariadb/var/run/mariadb目录

1
2
3
4
[root@hming-server217-mdb ~ ] # mkdir /var/log/mariadb
[root@hming-server217-mdb ~ ] # mkdir /var/run/mariadb
[root@hming-server217-mdb ~ ] # chown mysql:mysql /var/log/mariadb
[root@hming-server217-mdb ~ ] # chown mysql:mysql /var/run/mariadb


10. 启动MariaDB服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@hming-server217-mdb ~ ] # systemctl start mysqld
[root@hming-server217-mdb ~ ] # systemctl status mysqld
 
[root@hming-server217-mdb ~ ] # systemctl status mysqld
● mysqld.service - LSB: start and stop MySQL
    Loaded: loaded ( /etc/rc .d /init .d /mysqld )
    Active: active (running) since Fri 2017-06-02 23:53:09 CST; 3 days ago
      Docs:  man :systemd-sysv-generator(8)
   Process: 27419 ExecStop= /etc/rc .d /init .d /mysqld  stop (code=exited, status=0 /SUCCESS )
   Process: 27449 ExecStart= /etc/rc .d /init .d /mysqld  start (code=exited, status=0 /SUCCESS )
    CGroup:  /system .slice /mysqld .service
            ├─27460  /bin/sh  /usr/local/mysql/bin/mysqld_safe  --datadir= /data/mysql/webdata  --pid- file = /data/mysq ...
            └─27595  /usr/local/mysql/bin/mysqld  --basedir= /usr/local/mysql  --datadir= /data/mysql/webdata  --plugi...
 
Jun 02 23:53:08 hming-server217-mdb systemd[1]: Starting LSB: start and stop MySQL...
Jun 02 23:53:08 hming-server217-mdb mysqld[27449]: Starting MySQL.170602 23:53:08 mysqld_safe Logging to  '/...og' .
Jun 02 23:53:09 hming-server217-mdb mysqld[27449]: SUCCESS!
Jun 02 23:53:09 hming-server217-mdb systemd[1]: Started LSB: start and stop MySQL.
Hint: Some lines were ellipsized, use -l to show  in  full.


查看MariaDB服务进程

1
2
3
4
[root@hming-server217-mdb ~ ] # ps aux | grep mysql
root     27460  0.0  0.0 115380  1744 ?        S    23:53   0:00  /bin/sh  /usr/local/mysql/bin/mysqld_safe  --datadir= /data/mysql/webdata  --pid- file = /data/mysql/webdata/hming-server217-mdb .pid
mysql    27595  1.0  5.2 1209380 99428 ?       Sl   23:53   0:00  /usr/local/mysql/bin/mysqld  --basedir= /usr/local/mysql  --datadir= /data/mysql/webdata  --plugin- dir = /usr/local/mysql/lib/plugin  --user=mysql --log-error= /var/log/mariadb/mariadb .log -- open -files-limit=8192 --pid- file = /data/mysql/webdata/hming-server217-mdb .pid --socket= /data/mysql/webdata/mysql .sock --port=3306
root     27627  0.0  0.0 112644   952 pts /2     S+   23:53   0:00  grep  --color=auto mysql


11. 执行mysql_secure_installation初始化数据库,设mysql用户root密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
[root@hming-server217-mdb ~ ] # mysql_secure_installation
  
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
  
In order to log into MariaDB to secure it, we'll need the current
password  for  the root user.  If you've just installed MariaDB, and
you haven't  set  the root password yet, the password will be blank,
so you should just press enter here.
  
Enter current password  for  root (enter  for  none):
OK, successfully used password, moving on...
  
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
  
Set root password? [Y /n ] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
  ... Success!
  
  
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created  for
them.  This is intended only  for  testing, and to  make  the installation
go a bit smoother.  You should remove them before moving into a
production environment.
  
Remove anonymous  users ? [Y /n ] y
  ... Success!
  
Normally, root should only be allowed to connect from  'localhost' .  This
ensures that someone cannot guess at the root password from the network.
  
Disallow root login remotely? [Y /n ] y
  ... Success!
  
By default, MariaDB comes with a database named  'test'  that anyone can
access.  This is also intended only  for  testing, and should be removed
before moving into a production environment.
  
Remove  test  database and access to it? [Y /n ] y
  - Dropping  test  database...
  ... Success!
  - Removing privileges on  test  database...
  ... Success!
  
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
  
Reload privilege tables now? [Y /n ] y
  ... Success!
  
Cleaning up...
  
All  done !  If you've completed all of the above steps, your MariaDB
installation should now be secure.
  
Thanks  for  using MariaDB!


12登录MariaDB数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@hming-server217-mdb ~ ] # mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection  id  is 353
Server version: 10.1.20-MariaDB Source distribution
  
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
  
Type  'help;'  or  '\h'  for  help. Type  '\c'  to  clear  the current input statement.
  
MariaDB [(none)]>  select  version();
+-----------------+
| version()       |
+-----------------+
| 10.1.20-MariaDB |
+-----------------+
1 row  in  set  (0.00 sec)
  
MariaDB [(none)]>


安装Nginx


1. 安装依赖软件包

1
[root@hming-server218-web ~ ] # yum install gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl-devel gd gd-devel perl-devel perl-ExtUtils-Embed


2. 创建nginx用户

1
2
[root@hming-server218-web ~ ] # groupadd nginx
[root@hming-server218-web ~ ] # useradd -g nginx -s /sbin/nologin nginx -M


3. 编译安装Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@hming-server218-web  /usr/local/src  ] # tar -zxf nginx-1.10.2.tar.gz
[root@hming-server218-web  /usr/local/src  ] # cd nginx-1.10.2/
[root@hming-server218-web  /usr/local/src/nginx-1 .10.2 ] # ./configure \
--user=nginx \
--group=nginx \
--prefix= /usr/local/nginx  \
--pid-path= /var/run/nginx/nginx .pid \
--lock-path= /var/lock/subsys/nginx  \
--with-http_stub_status_module \
--with-pcre \
--with-http_ssl_module \
--with-mail_ssl_module \
--with-http_gzip_static_module \
--http-log-path= /var/log/nginx/access .log \
--error-log-path= /var/log/nginx/error .log \
--http-client-body-temp-path= /tmp/nginx/client_body  \
--http-proxy-temp-path= /tmp/nginx/proxy  \
--http-fastcgi-temp-path= /tmp/nginx/fastcgi  \
--http-uwsgi-temp-path= /tmp/nginx/uwsgi  \
--with-http_degradation_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_perl_module \
--with-http_image_filter_module=dynamic \
--with-http_flv_module
 
[root@hming-server218-web  /usr/local/src/nginx-1 .10.2 ] # make && make install


4. 启动Nginx服务

1
2
3
4
5
6
7
[root@hming-server218-web ~ ] # ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@hming-server218-web ~ ] # mkdir /tmp/nginx
[root@hming-server218-web ~ ] # nginx
[root@hming-server218-web ~ ] # ps -ef | grep nginx
root     27913     1  0 00:49 ?        00:00:00 nginx: master process nginx
nginx    27914 27913  0 00:49 ?        00:00:00 nginx: worker process
root     27923 22381  0 00:49 pts /1     00:00:00  grep  --color=auto nginx

5. 添加防火墙

1
2
3
4
[root@hming-server218-web ~ ] # firewall-cmd --permanent --add-port=80/tcp
success
[root@hming-server218-web ~ ] # firewall-cmd --reload
success


6. 通过客户端访问http://10.0.6.218

wKiom1k1KC6TnB5QAAAswLN_yC0724.png

本文转自 HMLinux 51CTO博客,原文链接:

http://blog.51cto.com/7424593/1932481


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9天前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
|
26天前
|
关系型数据库 应用服务中间件 Linux
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
47 1
Linux云服务器如何搭建LNMP环境
|
5月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
93 4
|
1月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
88 20
|
4月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
154 5
|
5月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
109 0
|
5月前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
|
5月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
322 0
|
5月前
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。
|
13天前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
61 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!

热门文章

最新文章