02 源码编译安装LAMP
创始人
2024-09-25 16:51:48
0

      

目录

2.1Apache网站服务基础

2.1Apache简介

1. Apache的起源

起源背景

Apache的诞生

Apache软件基金会的成立

Apache的流行和影响

2.1.1 安装httpd服务器

1.准备工作

2.源码编译及安装

(1)解包

(2)配置

(3)编译及安装

3.确认安装结果

4 优化执行路径

5.添加httpd系统服务

2.2 httpd 服务器的基本配置

1:确定网站名称、IP 地址

2:配置并启动 httpd 服务

(1)配置 httpd 服务

(2)启动 httpd 服务

3:部署网页文档

4:查看 Web 站点的访问情况

2.3 构建虚拟 Web 主机

1:为虚拟主机提供域名解析(两个域名)

2:为虚拟主机准备网页文档(两个网站) 

3:添加虚拟主机配置 

4:在客户机中访问虚拟 Web 主机 

2.4 基于 IP 地址、基于端口的虚拟主机

1:为主机设置多个IP地址

2:基于 IP 地址的虚拟主机 

3:基于端口的虚拟主机 

2.5 MySQL 的编译安装

1:准备工作

(1)检查安装环境

(2)安装cmake

2:源码编译及安装

(1)创建运行用户

(2)解包

(3)配置

(4)编译并安装

3:安装后的其他调整

(1)对数据库目录进行权限设置

(2)建立配置文件

(3)初始化数据库

 4:启动并访问 MySQL 服务

2.6 构建 PHP 运行环境

1:准备工作

2:安装扩展工具库

(1)安装 libmcrypt

 (2)安装 mhash

(3)安装 mcrypt 

3:编译安装 PHP

(1)解包

 (2)配置

(3)编译及安装

2.7 设置 LAMP 组件环境

1:php.ini 配置调整

(1)php.ini 的建立及基本设置

(2)添加 ZendGuardLoader 优化模块 

 2:httpd.conf 配置调整

2.8 测试 LAMP 协同工作

1:测试 PHP 网页能否正确显示

2:测试 PHP 网页能否访问 MySQL 数据库 


         LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具体包括 Linux 操作系统、Apache 网站服务器、MySQL数据库服务器、PHP(或 Per、Python)网页编程语言。

        在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,负责沟通 Web 服务器和数据库系统以协同工作。

2.1Apache网站服务基础

2.1Apache简介

        "Apache HTTP Server"是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务,在 Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运行在 Linux、UNIX、Windows 等多种操作系统平台中。

1. Apache的起源

Apache HTTP Server(简称Apache)的起源可以追溯到NCSA httpd服务器,其名称Apache取自“A Patchy Server”的读音,意为“基于原有Web服务程序的代码进行修改(补丁)后形成的服务器程序”。以下是Apache起源的详细概述:

起源背景
  • 前身:Apache HTTP Server的前身是NCSA httpd服务器,这是一个由美国国家超级电脑应用中心(National Center for Supercomputing Applications,NCSA)开发的Web服务器软件。
  • 发展:随着互联网的兴起,Web服务器的需求日益增长,NCSA httpd服务器因其性能限制和缺乏扩展性而难以满足日益增长的需求。此时,一群开发者开始对NCSA httpd服务器进行修改和完善,以提高其性能和可扩展性。
Apache的诞生
  • 成立Apache Group:这群开发者逐渐形成了Apache Group,他们致力于对NCSA httpd服务器进行持续的开发和维护。Apache Group的成立标志着Apache HTTP Server项目的正式启动。
  • 发布版本:1995年,Apache Group发布了Apache HTTP Server的1.0版本,这一版本在性能和功能上都有了显著提升,逐渐赢得了用户的青睐。
Apache软件基金会的成立
  • 背景:随着Apache HTTP Server的流行和成功,Apache Group在1999年进一步发展为Apache软件基金会(Apache Software Foundation,ASF)。ASF是一个非营利性组织,致力于开源软件的开发和推广。
  • 目标:ASF的成立为Apache HTTP Server的发展提供了更加坚实的后盾,它吸引了更多的开发者参与到Apache项目的开发中来,推动了Apache HTTP Server的不断进步和创新。
Apache的流行和影响
  • 全球排名:经过多年的发展,Apache HTTP Server已经成为世界使用排名第一的Web服务器软件,其市场占有率一直保持在较高水平。
  • 特点:Apache HTTP Server以其跨平台、安全性高、模块化设计以及丰富的功能特性而著称。它支持多种操作系统平台,可以轻松地与各种编程语言和数据库进行集成,为开发者提供了极大的灵活性和便利性。

2.1.1 安装httpd服务器

在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件。httpd 服务器的安装可以选用 RPM 安装、源码编译安装这两种方式,前者相对比较简单、快速,但是在功能上存在一定的局限性。

1.准备工作

为了避免发生端口冲突、程序冲突等现象,建议卸载使用RPM 方式安装的httpd.httpd 服务编译安装时需要依赖 apr-util-devel、pcre-devel 等软件,因此在 httpd 编译安装之前需要先安装依赖软件。

检查是否已经安装httpd

关闭防火墙

如果提示错误,证明没有rpm安装的httpd

  1. apr-util-devel
    • apr-util 是Apache Portable Runtime Utility Libraries的缩写,它是Apache可移植运行时(APR)的一部分,但提供了额外的实用程序功能,如数据库连接池、加密和URI解析等。
    • apr-util-devel 包包含了开发apr-util库所需的头文件、链接库以及可能的文档和示例代码。如果你需要编译依赖于apr-util的应用程序或库,这个包是必须的。
  1. pcre-devel
    • PCRE(Perl Compatible Regular Expressions)是一个Perl兼容的正则表达式库,它提供了正则表达式的全面支持,包括Perl的许多高级特性。
    • pcre-devel 包包含了开发时需要的PCRE库的头文件和开发文档,这对于编译需要PCRE支持的应用程序或库是必要的。
  1. gcc*
    • GCC(GNU Compiler Collection)是GNU项目的一部分,是一套编程语言编译器,支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和Go等。
    • gcc* 通常不是一个具体的包名,而是指与GCC编译器相关的多个包。在安装GCC时,你可能会看到如gcc、gcc-c++(C++编译器)、gcc-objc(Objective-C编译器)等不同的包。根据你的需要,你可能需要安装这些包中的一个或多个。
    • GCC是编译和构建许多Linux应用程序和库所必需的编译器。
  1. lrzsz
    • lrzsz 是两个程序lrz和lsz的集合,这两个程序用于通过串行通信线路(如telnet或SSH)在本地和远程系统之间传输文件。lrz用于接收文件,而lsz用于发送文件。
    • 尽管lrzsz主要用于文件传输,但在某些情况下,它可能是安装或配置某些软件时的一个依赖项,特别是那些需要与远程系统交换数据的软件。
2.源码编译及安装
(1)解包

将下载获得的 httpd 源码包解压并释放到/usr/src 目录下,且切换到展开后的源码目录中。

(2)配置

根据服务器的实际应用需要,可以灵活设置不同的定制选项,如指定安装路径、启用字符集支持等。若要获知可用的各种配置选项及其含义,可以执行“./configure --help命令

--prefix:制定程序的安装目录

--enable-so:启用动态加载模块DSO的支持,使httpd具备进一步扩展功能的能力

--enable-rewrite:启用网页地址重写功能,用于网站优化

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi:启用cgi脚本程序支持,扩展网站的应用访问能力

(3)编译及安装

上面执行后显示版本及配置成功

3.确认安装结果

4 优化执行路径

5.添加httpd系统服务
[root@bogon system]# cd /lib/systemd/system [root@bogon system]# vim httpd.service  [Unit] Description=The Apache HTTP Server After=network.target  [Service] Type=fotking PIDFile=/usr/local/httpd/logs/httpd.pid ExecStart=/usr/local/bin/apachectl  $OPTIONS ExecReload=/bin/kill -HUP $MAINPID [install] WantedBy=multi-user.target     注释: After=network.target Before/After:要是一个服务 Before 另一个服务,那么在并行启动时(Systemd 总是用进程 0 并行启动所有东西,然后通过这两个标记来二次等待排序),那另一个服务这时就会等这个服务先启动并返回状态,注意是先启动而不是启动成功,因为失败也是一种状态,一定要成功才启动另一个服务是通过依赖关系定义的。反之 After 亦然。After=network.target 指的是后于network服务启动。  Type=forking 服务的启动方式,有fork方式和simple方式 forking的方式在启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下守护精灵的子进程。你要是使用的这种方式,最好也指定下 PIDFILE=,不要让 Systemd 去猜,非要猜也可以,设置 GuessMainPID 为 yes。  ExecReload= /bin/kill -HUP $MAINPID  $ MAINPID是服务的systemd变量,它指向主应用程序的PID  WantedBy=multi-user.target 指定运行级别   

2.2 httpd 服务器的基本配置

1:确定网站名称、IP 地址

2:配置并启动 httpd 服务

(1)配置 httpd 服务
 [root@www system]# vim /usr/local/httpd/conf/httpd.conf   修改网站名称: ServerName www.benet.com [root@www ~]# httpd -t Syntax OK
(2)启动 httpd 服务

3:部署网页文档

[root@localhost ~]# vim /etc/hosts 添加域名解析: 192.168.10.101 www.benet.com  [root@localhost ~]# curl www.benet.com 

It works!

4:查看 Web 站点的访问情况

2.3 构建虚拟 Web 主机

1:为虚拟主机提供域名解析(两个域名)

[root@www ~]# vim /etc/hosts 192.168.10.101 www.benet.com 192.168.10.101 www.accp.com

2:为虚拟主机准备网页文档(两个网站) 

[root@www ~]# mkdir -p /var/www/html/benetcom [root@www ~]# mkdir -p /var/www/html/accpcom [root@www ~]# echo "

www.benet.com

"> /var/www/html/benetcom/index.html [root@www ~]# echo "

www.accp.com

"> /var/www/html/accpcom/index.html

3:添加虚拟主机配置 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf   Require all granted         DocumentRoot "/var/www/html/benetcom"     ServerName www.benet.com     ErrorLog "logs/www.benet.com.error_log"     CustomLog "logs/www.benet.com.access_log" common         DocumentRoot "/var/www/html/accpcom"     ServerName www.accp.com     ErrorLog "logs/www.accp.com.error_log"     CustomLog "logs/www.accp.com.access_log" common    [root@www ~]# vim /usr/local/httpd/conf/httpd.conf 去掉注释符号: Include conf/extra/httpd-vhosts.conf  [root@www ~]# systemctl restart httpd

4:在客户机中访问虚拟 Web 主机 

[root@node2 ~]# cat /etc/hosts 192.168.10.101 www.benet.com 192.168.10.101 www.accp.com   [root@node2 ~]# curl www.benet.com 

www.benet.com

[root@node2 ~]# curl www.accp.com

www.accp.com

2.4 基于 IP 地址、基于端口的虚拟主机

1:为主机设置多个IP地址

[root@www ~]# cd /etc/sysconfig/network-scripts/ [root@www network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0 [root@www network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1  [root@www network-scripts]# vim ifcfg-ens33:0 IPADDR=192.168.10.210 NETMASK=255.255.255.0 GATEWAY=192.168.10.254 NAME=ens33:0 DEVICE=ens33:0  [root@www network-scripts]# vim ifcfg-ens33:1 IPADDR=192.168.10.220 NETMASK=255.255.255.0 GATEWAY=192.168.10.254 NAME=ens33:1 DEVICE=ens33:1  [root@www network-scripts]# systemctl restart network [root@www network-scripts]# ip address 1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host         valid_lft forever preferred_lft forever 2: ens33:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000     link/ether 00:0c:29:21:68:67 brd ff:ff:ff:ff:ff:ff     inet 192.168.10.101/24 brd 192.168.10.255 scope global noprefixroute ens33        valid_lft forever preferred_lft forever     inet 192.168.10.220/24 brd 192.168.10.255 scope global secondary noprefixroute ens33:1        valid_lft forever preferred_lft forever     inet 192.168.10.210/24 brd 192.168.10.255 scope global secondary noprefixroute ens33:0        valid_lft forever preferred_lft forever     inet6 fe80::91e7:44c5:3a3:b5d1/64 scope link noprefixroute         valid_lft forever preferred_lft forever [root@www network-scripts]#  

2:基于 IP 地址的虚拟主机 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf  Require all granted        DocumentRoot "/var/www/html/benetcom"     ServerName www.benet.com     ErrorLog "logs/www.benet.com.error_log"     CustomLog "logs/www.benet.com.access_log" common         DocumentRoot "/var/www/html/accpcom"     ServerName www.accp.com     ErrorLog "logs/www.accp.com.error_log"     CustomLog "logs/www.accp.com.access_log" common  [root@www ~]# systemctl restart httpd 客户端测试 [root@node2 ~]# curl 192.168.10.210 

www.benet.com

[root@node2 ~]# curl 192.168.10.220

www.benet.com

3:基于端口的虚拟主机 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf  Require all granted   Listen 80 Listen 8080       DocumentRoot "/var/www/html/benetcom"     ServerName www.benet.com     ErrorLog "logs/www.benet.com.error_log"     CustomLog "logs/www.benet.com.access_log" common         DocumentRoot "/var/www/html/accpcom"     ServerName www.accp.com     ErrorLog "logs/www.accp.com.error_log"     CustomLog "logs/www.accp.com.access_log" common    [root@www ~]# systemctl restart httpd [root@www ~]# netstat -anpt | grep httpd     客户端测试 [root@node2 ~]# curl 192.168.10.101:80 

www.benet.com

[root@node2 ~]# curl 192.168.10.101:8080

www.accp.com

2.5 MySQL 的编译安装

1:准备工作

(1)检查安装环境

备注:

初始化mysql需要autoconf,它是自动化配置脚本生成工具,安装自动化脚本生成工具

(2)安装cmake
[root@www ~]# tar zxf cmake-2.8.6.tar.gz  [root@www ~]# cd cmake-2.8.6  [root@www cmake-2.8.6]# ./configure  [root@www cmake-2.8.6]# gmake && gmake install  备注: 此步骤可以用yum的方法安装cmake yum -y install cmake

2:源码编译及安装

(1)创建运行用户

(2)解包

(3)配置
[root@www ~]# cd mysql-5.6.36 [root@www mysql-5.6.36]# cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all  -DDEFAULT_COLLATION:用于指定数据集如何排序,以及字符串的比对规则
(4)编译并安装

3:安装后的其他调整

(1)对数据库目录进行权限设置

(2)建立配置文件

(3)初始化数据库
[root@www mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

 4:启动并访问 MySQL 服务

[root@www mysql-5.6.36]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld [root@www mysql-5.6.36]#  chmod +x /etc/rc.d/init.d/mysqld [root@www mysql-5.6.36]# chkconfig --add mysql 服务 mysql 信息读取出错:没有那个文件或目录 [root@www mysql-5.6.36]# chkconfig --add mysqld [root@www mysql-5.6.36]# chkconfig mysqld on [root@www mysql-5.6.36]# systemctl start mysql [root@www mysql-5.6.36]# netstat -anpt | grep mysql tcp6       0      0 :::3306                 :::*                    LISTEN      57921/mysqld         [root@www mysql-5.6.36]# mysql -u root -p Enter password:                             //密码是空的 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.36 Source distribution  Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.  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> set password =password('123456'); Query OK, 0 rows affected (0.00 sec)  mysql> exit Bye [root@www mysql-5.6.36]# 

2.6 构建 PHP 运行环境

1:准备工作

为了避免发生程序冲突等现象,建议先将 RPM 方式安装的 PHP 及相关依赖包

2:安装扩展工具库

(1)安装 libmcrypt
[root@www ~]# tar zxf libmcrypt-2.5.8.tar.gz [root@www ~]# cd libmcrypt-2.5.8/  [root@www libmcrypt-2.5.8]# ./configure  [root@www libmcrypt-2.5.8]# make && make install  [root@www libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/    //做个软连接
 (2)安装 mhash
[root@www ~]# tar zxf mhash-0.9.9.9.tar.gz  [root@www ~]# cd mhash-0.9.9.9/  [root@www mhash-0.9.9.9]# ./configure  [root@www mhash-0.9.9.9]# make && make install  [root@www mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/
(3)安装 mcrypt 
[root@www ~]# tar zxf mcrypt-2.6.8.tar.gz [root@www ~]# cd mcrypt-2.6.8/  [root@www mcrypt-2.6.8]# ./configure  [root@www mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH  [root@www mcrypt-2.6.8]# ./configure  [root@www mcrypt-2.6.8]# make && make install

3:编译安装 PHP

(1)解包
[root@www ~]# tar zxf php-5.5.38.tar.gz [root@www ~]# cd php-5.5.38
 (2)配置
[root@www php-5.5.38]# ./configure --prefix=/usr/local/php5 \ --with-mcrypt \ --with-apxs2=/usr/local/httpd/bin/apxs \ --with-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-config-file-path=/usr/local/php5 \ --enable-mbstring 

注意:

不能用192.168.10.101连接。

想用主机IP连接需要在安装php时指定mysql函数集为mysqlnd

--with-mysqli=mysqlnd

如果使用本地函数集,php连接mysql数据库可以使用localhost、127.0.0.1、本机主机名

,但不能用本机IP地址192.168.10.101

--with-apxs2=/usr/local/httpd/bin/apxs

整合apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到apache,要求apache要打开SO模块

(3)编译及安装
[root@www php-5.5.38]# make && make install  备注: 这一步时间很长    备注: ./configure --prefix=/usr/local/php5 \ --with-apxs2=/usr/local/httpd/bin/apxs \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-config-file-path=/usr/local/php5 \ --enable-mbstring 

2.7 设置 LAMP 组件环境

1:php.ini 配置调整

(1)php.ini 的建立及基本设置
[root@www php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini [root@www php-5.5.38]# vim /usr/local/php5/php.ini  default_charset = "UTF-8"         #去掉前面的注释 file_uploads = On  upload_max_filesize = 2M  max_file_uploads = 20  post_max_size = 8M  short_open_tag = On         ##修改值 extension=php_mysqli.dll        ##去掉前面的注释
(2)添加 ZendGuardLoader 优化模块 
[root@www~]#tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz [root@www~]#cd zend-loader-php5.5-linux-x86_64/  [root@www zend-loader-php5.5-linux-x86_64]#cp ZendGuardLoader.so /usr/local/php5/lib/php [root@www ~]# vim /usr/local/php5/php.ini  在[PHP]下面添加:  [PHP] zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so  zend_loader.enable=1

 2:httpd.conf 配置调整

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf Listen *:80  …… //省略部分内容  LoadModule php5_module modules/libphp5.so    AddType application/x-httpd-php .php    DirectoryIndex index.html index.php #Include conf/extra/httpd-vhosts.conf [root@www ~]# apachectl -t  Syntax OK  [root@www ~]# systemctl restart httpd

2.8 测试 LAMP 协同工作

1:测试 PHP 网页能否正确显示

[root@www ~]# vim /usr/local/httpd/htdocs/test1.php  

2:测试 PHP 网页能否访问 MySQL 数据库 

[root@www ~]# vim /usr/local/httpd/htdocs/test2.php     注意: 对数据库的连接授权,授权后可以使用主机名连接 mysql> grant all on *.* to root@'www.benet.com' identified by '123456';  注意: 如果用的是mysqlnd,要用IP地址进行连接,127.0.0.1或192.168.10.101都可以

相关内容

热门资讯

安卓系统为什么不封闭,揭秘安卓... 你有没有想过,为什么安卓系统那么开放,却不像苹果iOS那样封闭呢?这背后可是有着不少有趣的故事和原因...
安卓系统更新包多大,解析不同版... 你有没有发现,每次安卓系统更新,手机里都会多出那么几个G的文件?这可真是让人好奇,安卓系统更新包究竟...
安卓手机安装双系统吗,安卓手机... 你有没有想过,你的安卓手机是不是也能像电脑一样,装上两个系统,一个用来工作,一个用来娱乐?没错,这就...
oppo会升级安卓系统,畅享最... 你知道吗?最近有个大消息在手机圈里炸开了锅,那就是OPPO要升级安卓系统啦!这可不是什么小打小闹的更...
安卓系统上安装windows,... 你有没有想过,在安卓手机上安装Windows系统?听起来是不是有点不可思议?但你知道吗,这竟然是可能...
安卓系统怎么进运行框,安卓系统... 你有没有想过,你的安卓手机里有一个超级实用的功能,那就是运行框!它就像是一个小助手,帮你快速找到正在...
安卓系统电视无图像设置,安卓电... 你家的安卓系统电视突然没图像了?别急,让我来给你支个招,让你轻松解决这个问题!一、检查电源和连接线首...
安卓机建议升级系统吗,提升性能 你有没有发现,你的安卓手机最近有点儿慢吞吞的?是不是在犹豫要不要升级系统呢?别急,让我来给你好好分析...
升级不了安卓系统升级,探寻升级... 你有没有遇到过这种情况?手机里的安卓系统突然告诉你,它需要升级,但你左等右等,就是升不上去。这可真是...
备用安卓系统手机推荐,盘点热门... 你有没有想过,如果你的手机突然罢工了,你会怎么办?别担心,今天我就要给你安利几款备用安卓系统手机,让...
旧安卓系统ipad无法更新系统... 你有没有遇到过这种情况?你的旧安卓系统iPad突然告诉你,它无法更新系统了!是不是瞬间感觉心里有点小...
运行安卓6系统命令大全,全面掌... 你有没有想过,你的安卓手机里隐藏着无数强大的功能,只等着你去发现和探索呢?今天,就让我带你走进安卓6...
安卓系统简笔画教程下载,轻松绘... 你有没有想过,用简单的线条就能把复杂的安卓系统画出来?没错,就是那种一看就懂,一画就上手的感觉!今天...
华为如何鸿蒙转安卓系统,轻松实... 你知道吗?最近华为的大动作可是让整个科技圈都沸腾了!他们竟然把鸿蒙系统转到了安卓系统上,这可真是让人...
安卓10系统的问题,安卓10系... 你有没有发现,自从你的手机升级到安卓10系统后,好像有点不对劲呢?别急,让我来给你细细道来,看看安卓...
安卓系统苹果搞笑视频,苹果搞笑... 你知道吗?在互联网的世界里,搞笑视频可是个永恒的热门话题。尤其是那些结合了安卓系统和苹果手机的搞笑片...
卡片机改造安卓系统,探索改造之... 你有没有想过,那些曾经陪伴我们记录美好时光的卡片机,现在竟然也能焕发第二春呢?没错,就是那些小巧便携...
装安卓系统倒车出不来,智能科技... 你有没有遇到过这样的事情:手机装了个安卓系统,结果倒车的时候出不来啦?这可不是闹着玩的,简直让人抓狂...
定制安卓系统哪家好点儿,哪家服... 你有没有想过,手机系统就像是个人的衣服,每个人都需要找到最适合自己的那一款?今天,咱们就来聊聊定制安...
台电用回安卓系统吗,开启智能新... 最近有个话题在科技圈里炒得挺热的,那就是台电是不是要用回安卓系统了?你有没有想过,这个小小的决定背后...