博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-06-25笔记(LAMP环境搭建)
阅读量:6378 次
发布时间:2019-06-23

本文共 15641 字,大约阅读时间需要 52 分钟。

11.1 LAMP架构介绍

1、 LAMP架构介绍

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台

Linux

Linux 是免费开源软件,这意味着源代码可用的操作系统。
Apache(httpd)
Apache 是使用中最受欢迎的一个开放源码的WEB服务器软件。
MySQL/MariaDB
MySQL 是多线程、多用户的SQL数据库管理系统。
MySQL 已由Oracle公司自 2010 年 1 月 27 日通过SUN购买。SUN 最初于 2008 年 2 月 26 日收购 MySQL。
PHP,Perl 或 Python
PHP 是一种编程语言最初设计生产动态网站。PHP 是主要用于服务器端的应用程序软件。Perl 和 Python 类似

2、LAMP的工作原理

浏览器向服务器发送http请求,服务器 (Apache) 接受请求,由于php作为Apache的组件模块也会一起启动,它们具有相同的生命周期。Apache会将一些静态资源保存,然后去调用php处理模块进行php脚本的处理。脚本处理完后,Apache将处理完的信息通过http response的方式发送给浏览器,浏览器解析,渲染等一系列操作后呈现整个网页

11.2 MySQL、MariaDB介绍

MySQL

1、MySQL是一个关系型数据库,由mysql ab公司开发
2、mysql在2008年被sun公司收购(10亿刀),2009年sun公司被oracle公司收购(74亿刀)
3、MySQL官网https://www.mysql.com
4、MySQL5.6变化比较大,5.7性能上有很大提升
Mariadb
1、Mariadb为MySQL的一个分支,
2、官网:
3、MariaDB主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.
4、Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6
版本区别
1、Community 社区版本
2、Enterprise 企业版
3、GA(Generally Available)指通用版本,在生产环境中用的
4、DMR(Development Milestone Release)开发里程碑发布版
5、RC(Release Candidate)发行候选版本
6、Beta开放测试版本
7、Alpha内部测试版本

11.3/11.4/11.5 MySQL安装

1、安装前准备

##创建用户

[root@localhost ~]#useradd -s /sbin/nologin mysql[root@localhost ~]# id mysqluid=1000(mysql) gid=1000(mysql) 组=1000(mysql)

##创建数据目录。

[root@localhost ~]mkdir -p /data/mysql[root@localhost ~]chown -R mysql.mysql /data/mysql[root@localhost ~]ll -d /data/mysql/drwxr-xr-x 2 mysql mysql 6 6月  25 11:29 /data/mysql/

##安装mysql所需依赖包

[root@localhost ~]yum install -y gcc gcc-c++ make cmake ncurses-devel bison-devel autoconf libtool libXpm-devel libvpx-devel gmp-devel

注:如果缺少这些依赖包,编译过程会保错,源码安装大部分报错为缺少依赖包的引起的

2、安装mysql
方式1:源码编译安装MySQL

#进入软件源码存放目录[root@localhost ~]cd /usr/local/src/#下载源码包[root@localhost src]wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz#解压源码包[root@localhost src]tar xvf mysql-5.6.36.tar.gz #进入解压后的源码目录[root@localhost src]cd mysql-5.6.36  #设置安装参数,cmake相当于configure##下面的反斜杠是脱义字符,加上它我们可以把一行命令写成多行[root@localhost ~]cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \  #指定mysql安装目录-DMYSQL_DATADIR=/data/mysql \                       #指定数据存放的目录-DSYSCONFDIR=/etc/ \                                         #指定配置文件所在目录-DWITH_MYISAM_STORAGE_ENGINE=1 \         #安装启用myisam引擎支持-DWITH_INNOBASE_STORAGE_ENGINE=1 \    #安装启用innodb引擎支持-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \         #指定本地sock文件-DMYSQL_TCP_PORT=3306 \                            #指定TCP端口为3306-DENABLED_LOCAL_INFILE=1 \                        #启用本地数据导入支持-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装数据库分区-DEXTRA_CHARSETS=all \                                #启用额外的字符集类型(默认为all)-DDEFAULT_CHARSET=utf8 \                            #指定默认的字符集为utf8-DDEFAULT_COLLATION=utf8_general_ci        #设定默认排序规则(utf8_general_ci快速/utf8_unicode_ci准确)此处省略cmake过程[root@localhost mysql-5.6.36]echo $?    ##检查是否有错误。0[root@localhost mysql-5.6.36]make && make install  #编译 && 安装 ...省略编译安装的过程[root@localhost mysql-5.6.36]# echo $?    ##再次检查安装是否有错误。如果是0就表示安装没问题。0

方式2:二进制包安装MySQL

源代码方式和二进制包是软件包的两种形式。二进制包里面包括了已经经过编译,可以马上运行的程 序。你只需要下载和解包(安装)它们以后,就马上可以使用。源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程 序,所以从源代码安装的时间会比较长

#进入软件源码存放目录[root@localhost ~]cd /usr/local/src/#下载二进制包[root@localhost src]wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz#解压二进制包[root@localhost src]tar xvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz#将解压好的目录移动到/usr/local/目录下重命名为mysql[root@localhost src]mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql#进入/usr/local/mysql目录[root@localhost src]cd /usr/local/mysql###到此安装成功

3、初始化配置

#初始化数据库[root@localhost ~]cd /usr/local/mysql/[root@localhost mysql]./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ --basedir=/usr/local/mysql#备份初始配置文件[root@localhost mysql]cp /etc/my.cnf /etc/my.cnf.bak  #清空配置文件[root@localhost mysql]echo > /etc/my.cnf #编辑配置文件写入下面的内容后保存退出[root@localhost mysql]vim /etc/my.cnf   ###################################[mysqld]port = 3306basedir=/usr/local/mysqldatadir=/data/mysql/socket=/tmp/mysql.sockuser=mysqldefault-time-zone=systemdefault-storage-engine=InnoDBlog-error=/var/log/mysqld.logsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES#####################################将mysql启动脚本放入/etc/init.d/目录中重命名为mysqld[root@localhost ~]cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld##编辑启动脚本[root@localhost mysql]# vi /etc/init.d/mysqld 把下面两个修改一下,不然启动会报错basedir=/user/local/mysql               #修改成mysql的安装目录datadir=/data/mysql                        #修改成mysql的数据目录       ##将mysql启动脚本加入chkconfig管理[root@localhost ~]# chkconfig --add mysqld ##设置mysql开机自启动[root@localhost ~]# chkconfig mysqld on

11.6 MariaDB安装

centos7系统自带mariadb

1、查询系统是否安自动装过mariadb

[root@localhost ~]# rpm -qa|grep mariadb-libsmariadb-libs-5.5.56-2.el7.x86_64

2、卸载系统自带的mariadb

[root@localhost ~]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodepswarning: /etc/my.cnf saved as /etc/my.cnf.rpmsave   ###卸载时会自动备份/etc/my.cnf文件,这时的my.cnf文件是之前安装mysql的配置文件。

3、安装依赖包

[root@localhost ~]# yum install -y libevent[root@localhost ~]# yum groupinstall -y Development Tools[root@localhost ~]# yum install -y ncurses-devel openssl-devel openssl

4、安装mariadb

方式1:源码安装MariaDB
下载源码包

[root@localhost ~]# cd /usr/local/src[root@localhost src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/source/mariadb-10.2.6.tar.gz[root@localhost src]# ll -d mariadb-10.2.6.tar.gz -r--------. 1 root root 70531254 Jun 21 22:53 mariadb-10.2.6.tar.gz

解压源码包

[root@localhost ~]# tar zxf mariadb-10.2.6.tar.gz[root@localhost ~]# cd mariadb-10.2.6[root@localhost mariadb-10.2.6]# pwd/usr/local/src/mariadb-10.2.6

cmake设置安装参数

[root@localhost mariadb-10.2.6]cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \-DMYSQL_DATADIR=/data/mariadb \       #和mysql一样需要先创建数据存放目录再指定-DSYSCONFDIR=/etc \-DWITHOUT_TOKUDB=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STPRAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWIYH_READLINE=1 \-DWIYH_SSL=system \-DVITH_ZLIB=system \-DWITH_LOBWRAP=0 \-DMYSQL_UNIX_ADDR=/tmp/mariadb.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci[root@localhost mariadb-10.2.6]echo $?  #检查是否出错0

编译安装

[root@localhost mariadb-10.2.6]# make && make install[root@localhost mariadb-10.2.6]# echo $?    0

方式2:二进制包安装MariaDB

下载二进制包

[root@localhost src]wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

解压二进制包,然后移动到/usr/local/目录下重命名为mariadb

[root@localhost src]# tar zxf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz [root@localhost src]# mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb

3、初始化配置

创建mysql数据库用户[root@localhost mariadb-10.2.6]# useradd mysql -s /usr/bin/nologin -M##之前安装mysql时已经创建过了

创建数据库数据存放目录及赋予权限

root@localhost mariadb-10.2.6]# mkdir /data/mariadb -proot@localhost mariadb-10.2.6]# chown mysql.mysql /data/mariadb /usr/local/mariadb -R

初始化mariadb

[root@localhost mariadb-10.2.6]# cd /usr/local/mariadb/[root@localhost mariadb]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mariadb

复制配置文件到/etc目录下

[root@localhost mariadb]# cd /usr/local/mariadb/support-files[root@localhost support-files]# cp my-small.cnf /etc/my.cnf

#在配置文件中 [mysqld] 标签下面一行添加以下内容

datadir = /data/mariadb

[root@localhost support-files]vi /etc/my.cnf[mysqld]datadir         = /data/mariadbport            = 3306

复制mariadb启动脚本到/etc/init.d/目录下,重命名为mariadbd

[root@localhost support-files]# cp mysql.server /etc/init.d/mariadbd修改数据目录和主目录basedir和datadir[root@localhost support-files]vim /etc/init.d/mariadbd basedir=/usr/loacl/mariadbdatadir=/data/mariadb

将mariadbd服务加入chkconfig管理

[root@localhost support-files]# chkconfig --add mariadbd[root@localhost support-files]# chkconfig  mariadbd on

修改环境变量

[root@localhost mariadb]# vim /etc/profileexport PATH=/usr/local/mariadb/bin/:$PATH

启动mariadbd服务

systemctl start mariadbd

或者

mysql_safe start  --defaults-file=/etc/my.cn --datadir=/data/mariadb

11.7/11.8/11.9 Apache安装

简介:

Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache
Apache官网www.apache.org
准备源码安装包
###1:进入存放源码的目录

[root@localhost ~]cd /usr/local/src

###2:下载源码安装包

[root@localhost src]wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz[root@localhost src]wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz[root@localhost src]wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2[root@localhost src]wget https://sourceforge.net/projects/expat/files/expat/2.2.3/expat-2.2.3.tar.bz2

##(注:apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows))

###3:解压源码包

[root@localhost src]tar zxf httpd-2.4.33.tar.gz[root@localhost src]tar jxf apr-util-1.6.1.tar.bz2[root@localhost src]tar zxf apr-1.6.3.tar.gz[root@localhost src]tar jxf expat-2.2.3.tar.bz2echo

编译安装

1:编译安装expat

####apr-util 1.6.0不再捆绑安装 expat ,但又需要expat的支持,所以我们得手动先安装expat。不然编译 apache 的时候会报错。
###进入expat-2.2.3源码目录

[root@localhost src]# cd expat-2.2.3

###设置安装参数

[root@localhost expat-2.2.3]# ./configure --prefix=/usr/local/expat

###编译安装

[root@localhost expat-2.2.3]# make  && make install

#检查是否有错误。输出0表示安装成功

[root@loclhost apr-1.6.3]# echo $?0

2:编译安装apr依赖包

###进入apr-util源码目录

[root@localhost src]# cd /usr/local/src/apr-1.6.3

###设置安装参数

[root@localhost apr-1.6.3]# ./configure --prefix=/usr/local/apr

###编译并安装

[root@localhost apr-1.6.3]# make -j4 && make -j4 install

#检查是否有错误。输出0表示安装成功

[root@localhost apr-1.6.3]# echo $?0

3:编译安装apr-util

###进入apr-util源码目录

[root@localhost src]# cd /usr/local/src/apr-util-1.6.1

###设置安装参数

[root@localhost apr-util-1.6.1]# ./configure \--prefix=/usr/local/apr-util \--with-apr=/usr/local/apr \--with-expat=/usr/local/expat

###编译并安装

[root@localhost apr-util-1.6.1]# make && make install

#检查是否有错误。输出0表示安装成功

[root@long0000 apr-util-1.6.1]# echo $?0

4:编译安装httpd

###进入httpd源码目录

[root@localhost src]# cd /usr/local/src/httpd-2.4.33

###设置安装参数

[root@localhost httpd-2.4.33]# ./configure \--prefix=/usr/local/apache2.4 \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util \--enable-so \--enable-mods-shared=most

###--enable-so 可以让Apache支持动态扩展,

###--enable-mods-shared=most 让Apache加载大多数需要用到的模块。

#检查是否有错误。输出0表示没有错误

[root@localhost httpd-2.4.33]# echo $?0

#####如果报错:

configure: error: pcre-config for libpcre not found.
#####解决办法:
yum install -y pcre-devel

###编译并安装

[root@localhost httpd-2.4.33]# make  && make  install

#检查是否有错误。输出0表示安装成功

[root@localhost httpd-2.4.33]# echo $?0

Apache常用目录

./bin      存放Apache主要的二进制可执行文件,还有一些命令,httpd,apachectl等。./conf     存放配置文件的目录./logs     存放日志文件的目录./modules  存放模块的目录,一个文件就是一个模块,也就是一个功能

查看httpd加载了哪些模块

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -MLoaded Modules: core_module (static) so_module (static) http_module (static) mpm_event_module (static) authn_file_module (shared)...

(static) 表示静态的模块,已经编译到httpd主程序中,

(shared) 表示这个一个扩展的模块。

启动httpd服务

[root@localhost ~]/usr/local/apache2.4/bin/apachectl -t   #检查配置文件是否有错误###AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fed3:3e41. Set the 'ServerName' directive globally to suppress this message

这个错误不会影响服务的启动,只是一个提示,没有定义ServerName

启动httpd服务

[root@localhost ~]/usr/local/apache2.4/bin/apachectl start 。

11.10/11.11/11.12 安装PHP5

简介:

PHP官网www.php.net
当前主流版本为5.6/7.1
安装PHP5

安装依赖包

[root@localhost ~]yum -y install libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

准备源码包

##进入存放源码包的目录

[root@localhost ~]cd /usr/local/src/

##下载源码包

[root@localhost src]wget http://cn2.php.net/distributions/php-5.6.30.tar.gz

##解压源码包

[root@localhost src]tar zxf php-5.6.30.tar.gz

##进入源码目录

[root@localhost src]cd php-5.6.30

配置安装参数

[root@localhost  php-5.6.30]./configure --prefix=/usr/local/php \--with-apxs2=/usr/local/apache2.4/bin/apxs \--with-config-file-path=/usr/local/php/etc  \--with-mysql=/usr/local/mysql \--with-pdo-mysql=/usr/local/mysql \--with-mysqli=/usr/local/mysql/bin/mysql_config \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-bz2 \--with-openssl \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-mbstring \--enable-sockets \--enable-exif

####重要安装参数说明:

--prefix 指定安装路径
--apxe2 apache的一个工具,可以自动将PHP生成的模块文件放到modules目录下,并且添加相关配置
--with-config-file 指定php配置文件所在的路径
--with-mysql 指定mysql的路径
--with-pdo-mysql、--with-mysqli : mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
##更多参数详细说明参考:

编译安装

[root@localhost  php-5.6.30]make && make install

#检查是否有错误。输出0表示安装成功

[root@localhost  php-5.6.30]# echo $?0

##复制参考配置文件到安装PHP指定的配置文件目录下

[root@localhost  php-5.6.30]cp php.ini-production  /usr/local/php/etc/php.ini

11.13 安装PHP7

安装依赖包

[root@localhost ~]yum -y install libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-dvel freetype-devel libmcrypt-devel

##进入存放源码包的目录

[root@localhost ~]cd /usr/local/src/

##下载源码包

[root@localhost src]wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2

##解压源码包

[root@localhost src]tar jxf php-7.1.6.tar.bz2

##进入源码目录

[root@localhost src]cd php-7.1.6

设置安装参数

[root@localhost php-7.1.6]./configure --prefix=/usr/local/php7 \--with-apxs2=/usr/local/apache2.4/bin/apxs \--with-config-file-path=/usr/local/php7/etc  \--with-pdo-mysql=/usr/local/mysql \--with-mysqli=/usr/local/mysql/bin/mysql_config \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-bz2 \--with-openssl \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-mbstring \--enable-sockets \--enable-exif

编译安装

[root@localhost php-7.1.6]make -j4 && make -j4 install

#检查是否有错误。输出0表示安装成功

[root@localhost php-7.1.6]# echo $?0

##复制参考配置文件到安装PHP指定的配置文件目录下

[root@localhost php-7.1.6]# cp php.ini-production  /usr/local/php7/etc/php.ini

11.14/11.15 Apache和PHP结合

检查apxs自动添加的配置

[root@localhost ~]# cat /usr/local/apache2.4/conf/httpd.conf | grep  "LoadModule php"LoadModule php5_module        modules/libphp5.soLoadModule php7_module        modules/libphp7.so

##这就是apxs工具在编译PHP的时候,在配置文件中添加的两行配置

##同时加载了PHP5和PHP7,这样会有冲突,需要注释掉一条才能正常使用PHP解析
注释掉加载PHP7的那一行配置

#LoadModule php7_module        modules/libphp7.so

还需要在配置文件中修改下面的内容

[root@localhost conf]# vim httpd.conf找到:#ServerName www.example.com:80   去掉前面的#号,可解决安装完apache时,启动服务的那个警告找到:
AllowOverride none Require all denied将 Require all denied 修改为 Require all granted找到:AddType application/x-gzip .gz .tgz在下面添加一行:AddType application/x-httpd-php .php找到:
DirectoryIndex index.html index.php
在DirectoryIndex后面添加上 index.php

##index一般为索引页, 也就是默认页面

##当访问一个域名时,域名后面没有指定任何文件时,默认就会请求这个文件。
##比如访问www.baidu.com 实际就是访问的是 www.baidu.com/index.php
如需要在Windows下测试,还需要在防火墙中配置允许访问80端口,或者关闭防火墙

##用 Firewalld 添加允许访问80端口

[root@loclhost conf]# firewall-cmd --add-port=80/tcpsuccess

或者 iptables 添加允许访问80端口

[root@localhost conf]# iptables -I INPUT -p tcp --dport=80 -j ACCEPT

##测试配置文件是否有语法错误

[root@localhost conf]# cd /usr/local/apache2.4/bin[root@localhost bin]# ./apachectl -tSyntax OK   #输出Syntax OK  表示配置文件没有语法错误。

##启动服务

[root@localhost bin]# ./apachectl start

##如果已经启动过httpd服务,修改了配置文件需要重新加载配置文件

[root@localhost bin]# ./apachectl graceful

使用curl命令 测试访问默认页面,

##-I选项获取页面的头部信息,第一行的状态码是200表示能正常访问页面

[root@localhost bin]# curl -I localhostHTTP/1.1 200 OKDate: Sun, 26 Jun 2018 10:08:39 GMTServer: Apache/2.4.33 (Unix) PHP/5.6.30Last-Modified: Mon, 11 Jun 2007 18:53:14 GMTETag: "2d-432a5e4a73a80"Accept-Ranges: bytesContent-Length: 45Content-Type: text/html

测试访问PHP页面

[root@localhost bin]# vi  /usr/local/apache2.4/htdocs/test.ph##加入下面的内容 

##使用curl命令获取test.php页面的头部信息

[root@localhost bin]# curl -I localhost/test.phpHTTP/1.1 200 OKDate: Sun, 26 Jun 2018 10:09:08 GMTServer: Apache/2.4.33 (Unix) PHP/5.6.30X-Powered-By: PHP/5.6.30Content-Type: text/html; charset=UTF-8

##测试解析PHP 显示如下为正常

[root@localhost bin]# curl  localhost/test.php hello php

转载于:https://blog.51cto.com/13736286/2132977

你可能感兴趣的文章
java中数据流的简单介绍
查看>>
根据物流号查看物流信息
查看>>
jsp设置MIME类型
查看>>
python模拟自动登录网站(urllib2)
查看>>
Java 对文件的操作
查看>>
洛谷 题解 P3627 【[APIO2009]抢掠计划】
查看>>
springboot传入json和文件_SpringBoot系列教程22-整合SpringMVC之HttpMessageConverters
查看>>
不礼让行人怎么抓拍的_张家川公安交警持续曝光机动车不礼让行人【第24期】...
查看>>
用pythonturtle写名字_去年爆款新生儿名字,家长自以为起的不错,却有“棺材”的意思...
查看>>
句子分类_语法微课句子的分类+文本讲解
查看>>
图形化分析工具_推荐一款基于小米 soar 的开源 sql 分析与优化的 web 图形化工具...
查看>>
485 工控机 接线方式_RS485温湿度传感器的接线方式及注意事项
查看>>
u3d游戏开发视频潭州_unity3d教程视频-unity3d教程中文零基础入门/u3d游戏开发/特效案例/项目实战V2.0 最新版 - 极光站...
查看>>
c++区块链实例_cpp 区块链模拟示例(二)工程代码解析
查看>>
java 接口的本质_Java基本概念:接口
查看>>
java死锁的解决_java中常见的死锁以及解决方法代码
查看>>
java菜单栏不下拉_我java代码中的下拉列表设好后为什么无法下拉?
查看>>
java传递引用类型的实质_java的引用类型以及值传递
查看>>
java策略模式使用场景,Java设计模式—策略模式
查看>>
RHEL6.3实现基于加密的用户认证验证访问
查看>>