编译LNMP部署动态网站环境
LNMP动态网站部署架构是由一套 Linux+Nginx+MySQL+PHP 组成的动态网站系统解决方案.以下配置环境为:Linux=RHEL7 --> Nginx=1.13 --> MySQL=5.6 --> PHP=7.0 无错误版.
安装编译环境
在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,他需要具备C语言,C++语言的编译器,以及常见的编译支持函数库程序,下面我们将通过Yum仓库来快速部署这些包.
[root@localhost ~]# yum install -y gcc gcc-c++ apr apr-util autoconf automake bison bzip2
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager.
Package gcc-4.8.5-28.el7.x86_64 already installed and latest version
Package gcc-c++-4.8.5-28.el7.x86_64 already installed and latest version
Package apr-1.4.8-3.el7_4.1.x86_64 already installed and latest version
Package apr-util-1.5.2-6.el7.x86_64 already installed and latest version
Package autoconf-2.69-11.el7.noarch already installed and latest version
Package automake-1.13.4-3.el7.noarch already installed and latest version
Package bison-3.0.4-1.el7.x86_64 already installed and latest version
Package bzip2-1.0.6-13.el7.x86_64 already installed and latest version
Nothing to do
CMake是Linux系统中一款常用的编译工具,在这里MySQL的编译会用到CMake命令,接下来我们将解压,并编译安装这个包.
[root@localhost ~]# tar -xzvf cmake-2.8.11.2.tar.gz
[root@localhost ~]# cd cmake-2.8.11.2
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
编译安装 Nginx
Nginx是一款相当优秀的用于部署动态网站的轻量级服务程序,他最初是为俄罗斯门户站点开发的,因其性能稳定,功能丰富,占用内存小且并发能力高而备受用户的信赖,目前诸如,新浪搜狐,网易,腾讯等门户站点均已经使用了此服务.
坦白来说,虽然Nginx服务程序代码质量非常高,代码很规范,技术成熟,模块扩展也很容易,但任然存在不少的问题,比如官方资料对中文的支持较少,但是Nginx服务程序,在近几年来的发展势头迅猛,相信会在轻量级Web服务器市场能够有不错的前景.
1.在编译配置Nginx之前我们还需要解决相关依赖问题,例如用于提供Perl语言兼容的正则表达式库的软件包pcre,就是Nginx程序用于实现伪静态功能必不可少的依赖包,下面我们先来解压,并编译,安装这个包.
[root@localhost ~]# tar -xzvf pcre-8.35.tar.gz
[root@localhost ~]# cd pcre-8.35
[root@localhost ~]# ./configure --prefix=/usr/local/pcre
[root@localhost ~]# make
[root@localhost ~]# make install
2.紧接着继续编译安装openssl,这个工具是用与提供网站加密证书服务的程序文件,安装时需要自定义服务程序的安装目录,以便于后期调用命令是更方便.
[root@localhost ~]# tar -xzvf openssl-1.0.1h.tar.gz
[root@localhost ~]# cd openssl-1.0.1h
[root@localhost ~]# ./config --prefix=/usr/local/openssl
[root@localhost ~]# make
[root@localhost ~]# make install
3.在openssl安装后,默认会在/usr/local/openssl/bin目录中提供很多可用命令,我们将这个目录添加到PATH环境变量里,方便后期的调用.
[root@localhost ~]# echo "export PATH=$PATH:/usr/local/openssl/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# openssl
OpenSSL>
4.zlib软件包是用户提供压缩功能的函数文件,下面我们开始编译安装.
[root@localhost ~]# tar -xzvf zlib-1.2.8.tar.gz
[root@localhost ~]# cd zlib-1.2.8
[root@localhost ~]# ./configure --prefix=/usr/local/zlib
[root@localhost ~]# make
[root@localhost ~]# make install
5.在安装好zlib后,下面我们进入编译Nginx的前戏阶段,创建一个Nginx用户
[root@localhost ~]# useradd -s /sbin/nologin -M nginx
6.下面开始编译安装Nginx,这里我们需要指定--user与--group参数,也就是用户与组,在使用参数openssl和zlib库时应该指定具体位置.
[root@localhost ~]# tar -xzvf nginx-1.13.12.tar.gz
[root@localhost ~]# cd nginx-1.13.12
[root@localhost ~]# ./configure --prefix=/usr/local/nginx \
> --user=nginx --group=nginx \
> --with-http_stub_status_module --with-http_ssl_module \
> --with-http_gzip_static_module --with-openssl=/root/openssl-1.0.1h \
> --with-zlib=/root/zlib-1.2.8 --with-pcre=/root/pcre-8.35
[root@localhost ~]# make
[root@localhost ~]# make install
7.启动Nginx,并设置开机自启动
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t #检测配置文件正确性
[root@localhost ~]# /usr/local/nginx/sbin/nginx #启动Nginx
[root@localhost ~]# kill -QUIT $(cat /usr/local/nginx/logs/nginx.pid) #关闭Nginx
[root@localhost ~]# kill -HUP $(cat /usr/local/nginx/logs/nginx.pid) #重启Nginx
[root@localhost ~]# echo "/usr/local/nginx/sbin/nginx 2> /dev/null" >> /etc/profile
编译安装 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS应用软件,MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.这里需要注意的是由于MySQL5.7以后产品闭源了,后期的话可以使用MariaDB替代.
1.在编译MySQL过程中,我们需要创建一个mysql的系统用户,专门负责运行MySQL数据库,记得把这个账户变成一个不可登录的用户,且也无需创建家目录,提高系统安全性.
[root@localhost ~]# useradd -s /sbin/nologin -M mysql
2.创建一个用于保存MySQL程序,和数据库文件的目录,并把该目录所有者和所属组改成mysql,其中/usr/local/mysql用于保存MySQL数据程序,而/usr/local/mysql/data则用来保存数据库文件.
[root@localhost ~]# mkdir -p /usr/local/mysql
[root@localhost ~]# mkdir -p /usr/local/mysql/data
[root@localhost ~]# chown -Rf mysql:mysql /usr/local/mysql/
3.安装Ncurses,若不安装ncurses编译MySQL时会报错
[root@localhost ~]# yum install -y ncurses-devel
[root@localhost ~]# tar -xzvf ncurses-6.1.tar.gz
[root@localhost ~]# cd ncurses-6.1
[root@localhost ~]# ./configure --with-shared \
--without-debug \
--without-ada \
--enable-overwrite
[root@localhost ~]# make
[root@localhost ~]# make install
# --without-ada参数为设定不编译为ada绑定,因进入chroot环境不能使用ada ;
# --enable-overwrite参数为定义把头文件安装到/tools/include下而不是/tools/include/ncurses目录
# --with-shared 生成共享库
4.接下来,开始解压编译MySQL,由于MySQL体积过大,编译时间很长,耐心等待吧
[root@localhost ~]# tar -xzvf mysql-5.6.19.tar.gz
[root@localhost ~]# cd mysql-5.6.19
[root@localhost ~]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
[root@localhost ~]# make
[root@localhost ~]# make install
5.下面进入配置环节,首先删除/etc/my.cnf默认配置文件,然后在MySQL程序目录内,找到一个名为mysql_install_db的脚本文件,执行这个脚本,并使用--user参数指定MySQL服务的对应账号名称,使用--basedir指定MySQL程序保存目录,使用--datadir指定数据库目录.
[root@localhost ~]# rm -fr /etc/my.cnf
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql \
--basedir=/usr/local/mysql/ \
--datadir=/usr/local/mysql/data/
....
New default config file was created as /usr/local/mysql//my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
6.接着把,MySQL数据库配置文件复制到/etc/目录下,然后把开机程序复制到/etc/rc.d/init.d目录下,给脚本755的权限.
[root@localhost mysql]# cp -a my.cnf /etc/my.cnf
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chmod 755 -R /etc/rc.d/init.d/mysqld
7.修改刚刚的配置文件,改basedir=/usr/local/mysql,datadir=/usr/local/mysql/data这一行.
[root@localhost mysql]# vim /etc/rc.d/init.d/mysqld
43 # If you change base dir, you must also change datadir. These may get
44 # overwritten by settings in the MySQL configuration files.
45
46 basedir= /usr/local/mysql
47 datadir= /usr/local/mysql/data
48
49 # Default value, in seconds, afterwhich the script should timeout waiting
50 # for server start.
8.启动MySQL,与设置chkconfig开机自启动的配置.
[root@localhost ~]# /etc/rc.d/init.d/mysqld start
[root@localhost ~]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig --list mysqld
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local
9.添加环境变量,使用相对路径命令,这样就能直接访问了.
[root@localhost ~]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.19 Source distribution
Copyright (c) 2000, 2014, 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>
10.MySQL数据库还会调用一些函数库,在这里我们把它们复制到指定的位置吧.
[root@localhost ~]# mkdir /var/lib/mysql
[root@localhost ~]# ln -s /usr/local/mysql/lib/* /var/lib/mysql
[root@localhost ~]# ln /usr/local/mysql/include/mysql /usr/include/
[root@localhost ~]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
11.接着我们执行 mysql_secure_installation 命令,给MySQL设置初始密码,到此配置完毕
[root@localhost ~]# mysql_secure_installation
[root@localhost ~]# mysql -uroot -p1233
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 18
Server version: 5.6.19 Source distribution
Copyright (c) 2000, 2014, 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>
编译安装 PHP
PHP是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,利于学习使用广泛,主要适用于Web开发领域.PHP独特的语法混合了C、Java、Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快.
1.在编译安装PHP之前首先要解决依赖的问题,例如yasm是一款常见的开源汇编器.
[root@localhost ~]# tar -xzvf yasm-1.2.0.tar.gz
[root@localhost ~]# cd yasm-1.2.0
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
2.libmcrypt是用于加密算法的扩展库程序.
[root@localhost ~]# tar -xzvf libmcrypt-2.5.8.tar.gz
[root@localhost ~]# cd libmcrypt-2.5.8
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
3.libvpx是用于提供视频编码器服务的程序.
[root@localhost ~]# tar -xjvf libvpx-v1.3.0.tar.bz2
[root@localhost ~]# cd libvpx-v1.3.0
[root@localhost ~]# ./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
[root@localhost ~]# make
[root@localhost ~]# make install
4.tiff是用于提供标签图像文件格式的服务程序.
[root@localhost ~]# tar -xzvf tiff-4.0.3.tar.gz
[root@localhost ~]# cd tiff-4.0.3
[root@localhost ~]# ./configure --prefix=/usr/local/tiff --enable-shared
[root@localhost ~]# make
[root@localhost ~]# make install
5.libpng是用于提供png图片格式支持函数库的服务程序.
[root@localhost ~]# tar -xzvf libpng-1.6.12.tar.gz
[root@localhost ~]# yum install -y zlib zlib-devel
[root@localhost ~]# ./configure --prefix=/usr/local/libpng --enable-shared
[root@localhost ~]# make
[root@localhost ~]# make install
6.freetype是用于提供字体支持引擎的服务.
[root@localhost ~]# tar -xzvf freetype-2.5.3.tar.gz
[root@localhost ~]# cd freetype-2.5.3
[root@localhost ~]# ./configure --prefix=/usr/local/freetype -enable-shared
[root@localhost ~]# make
[root@localhost ~]# make install
7.jpeg是用于提供jpeg图片格式支持的函数库.
[root@localhost ~]# tar -xzvf jpegsrc.v9a.tar.gz
[root@localhost ~]# cd jpeg-9a
[root@localhost ~]# ./configure --prefix=/usr/local/jpeg --enable-shared
[root@localhost ~]# make
[root@localhost ~]# make install
8.libgd是用于提供图形处理的服务.
[root@localhost ~]# tar -xzvf libgd-2.1.0.tar.gz
[root@localhost ~]# cd libgd-2.1.0
[root@localhost ~]# ./configure --prefix=/usr/local/libgd --with-jpeg=/usr/local/jpeg \
--with-freetype=/usr/local/freetype --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
[root@localhost ~]# make
[root@localhost ~]# make install
9.tlib是用于提供图片生成函数库的服务程序.
[root@localhost ~]# tar -xzvf t1lib-5.1.2.tar.gz
[root@localhost ~]# cd t1lib-5.1.2
[root@localhost ~]# ./configure --prefix=/usr/local/t1lib --enable-shared
[root@localhost ~]# make
[root@localhost ~]# make install
[root@localhost ~]# ln -s /usr/lib64/libltdl.so.7 /usr/lib/libltdl.so
[root@localhost ~]# cp -a frp /usr/lib64/libXpm.so* /usr/lib/
10.编译安装PHP程序.(这里既可以使用5.x也可以使用7.x参数通用)
[root@localhost ~]# tar -xzvf php-7.0.0.tar.gz
[root@localhost ~]# yum install -y libxml2 libxml2-devel libcurl libcurl-devel libXpm-devel
[root@localhost ~]# cd php-7.0.0
[root@localhost ~]# export LD_LIBRARY_PATH=/usr/local/libgd/lib
[root@localhost ~]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype
[root@localhost ~]# make
[root@localhost ~]# make install
配置 PHP与Nginx
1.拷贝相应配置文件
cp -a php.ini-development /usr/local/php7/lib/php.ini
cp -a /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp -a sapi/fpm/php-fpm /usr/local/bin
2.编辑配置文件,在PHP文件末尾追加写入以下标★语句
vim /usr/local/php7/lib/php.ini
cgi.fix_pathinfo=1 #将注释去掉,开启PHP的pathinfo伪静态功能
max_execution_time = 0 #脚本运行的最长时间,默认30秒
max_input_time = 300 #脚本可以消耗的时间,默认60秒
memory_limit = 256M #脚本运行最大消耗的内存,根据你的需求更改数值,默认128M
post_max_size = 100M #单提交的最大数据,默认100M
upload_max_filesize = 10M #上载文件的最大许可大小,默认2M
3.修改php-fpm的配置,在PHP-fpm文件中,修改以下标★语句
cd /usr/local/php7/etc/php-fpm.d/
cp -a www.conf.default www.conf
vim /usr/local/php7/etc/php-fpm.d/www.conf
★listen.owner = nobody #解除注释
★listen.group = nobody #解除注释
★user = nginx #将apache修改为nginx
★group = nginx #将apache修改为nginx
4.修改nginx的主配置,在server语句内,写入以下标★语句
vim /usr/local/nginx/conf/nginx.conf
38 server {
39 listen 80 default_server;
40 listen [::]:80 default_server;
41 server_name _;
42 root /usr/share/nginx/html;
43
44 # Load configuration files for the default server block.
45 include /etc/nginx/default.d/*.conf;
46
★ location / {
★
★ root html;
★ index index.php index.html index.htm;
★
52 }
53
★ location ~ \.php$ {
★ root /usr/local/nginx/html;
★ try_files $uri =404;
★ fastcgi_pass 127.0.0.1:9000;
★ fastcgi_index index.php;
★ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
★ include fastcgi_params;
★ }
62
63 error_page 404 /404.html;
64 location = /40x.html {
65 }
5.设置网页目录权限
chown -R nginx:nginx /usr/local/nginx/html/
6.新建index.php测试页
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
7.重启服务,并查看9000端口是否启动成功
/usr/local/nginx/sbin/nginx
/usr/local/php7/sbin/php-fpm
netstat -npa | grep 9000
8.配置妥当后,便可以复制php管理脚本,并加入到开机自启动列表
[root@localhost php-7.0.0]# cp -a sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
[root@localhost php-7.0.0]# chmod 755 -R /etc/rc.d/init.d/php-fpm
[root@localhost php-7.0.0]# chkconfig php-fpm on
[root@localhost php-7.0.0]#
[root@localhost php-7.0.0]# chkconfig --list php-fpm
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
编译LNMP部署动态网站环境的更多相关文章
- 编译LAMP部署动态网站环境
LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --&g ...
- 第20章 使用LNMP架构部署动态网站环境
章节概述: 本章节将从Linux系统的软件安装方式讲起,带领读者分辨RPM软件包与源码安装的区别.并能够理解它们的优缺点. Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳 ...
- 《Linux就该这么学》培训笔记_ch20使用LNMP架构部署动态网站环境
<Linux就该这么学>培训笔记_ch20使用LNMP架构部署动态网站环境 文章最后会post上书本的笔记照片. 文章主要内容: 源码包程序 LNMP动态网站架构 配置Mysql服务 配置 ...
- Lnmp架构部署动态网站环境.2019-7-2-1.1
一.Mysql简介 Mysql数据库: 1.社区版 2.商业版 3.cluster集群 Mysql安装方式 1.编译安装 2.yum/rpm 3.二进制包,直接解压,无需编译 二.Mysql安装部署 ...
- Lnmp架构部署动态网站环境.2019-7-3-1.3
Php安装 一.安装准备 1.Php依赖包 [root@Lnmp tools]# yum install -y zlib libxml libjpeg freetype libpng gd curl ...
- Lnmp架构部署动态网站环境.2019-7-3-1.2
Nginx安装 一.安装准备 Pcre(Perl Compatible Regular Expressions,兼容正则表达式)安装pcre库是为了使Nginx支持HTTP Rewrite模块. 安装 ...
- 《linux就该这么学》课堂笔记20 LNMP架构部署动态网站环境
源码包安装程序 使用源码包来安装服务程序具有两个优势. 源码包的可移植性非常好,几乎可以在任何Linux系统中安装使用,而RPM软件包是针对特定系统和架构编写的指令集,必须严格地符合执行环境才能顺利安 ...
- Lnmp架构部署动态网站环境.2019-7-3-1.4
安装wiki开源产品 一.创建数据库 [root@Lnmp bbs]# mysql -uroot -p123456 mysql> create database wiki; #创建wiki数据库 ...
- 使用LNMP架构部署动态网站环境(源代码安装)
随机推荐
- Django 详解
Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法 ...
- Spring Boot 入门之消息中间件篇(转发)
一.前言 在消息中间件中有 2 个重要的概念:消息代理和目的地.当消息发送者发送消息后,消息就被消息代理接管,消息代理保证消息传递到指定目的地. 我们常用的消息代理有 JMS 和 AMQP 规范.对应 ...
- EBS 创建会计科目 小结
1 创建会计科目 方式(以AP发票为例) 1)在发票工作台对单张发票进行创建科目: 参考网址: https://www.cnblogs.com/bruce_zhao/p/3809493.html 备注 ...
- EBI架构 VS. MVC
和 MVC 模式中的 Model 代表着整个后端(包括所有实体.服务和它们之间的关系在内的一切)一样,EBI 模式将边界看作是和外部世界的完整连接,而不仅仅是一个视图.一个控制器或是一个接口(这里指的 ...
- 手把手教你 iOS通过自己的服务器实现应用分发
第一步:打包ipa 1:可以是development.ad-hoc.enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上. 2:如下图,箭头指的要打勾 3.点击下一步后出 ...
- python接口自动化框架搭建
一.在搭建接口自动化测试框架前,我觉得先需要想明白以下几点: ① 目前情况下,绝大部分接口协议是http,所以需要对http协议有个基本的了解,如:http协议请求.响应由哪些部分组成,常用的meth ...
- 五十:数据库之Flask-Script详解
使用flask-script可以实现自定义命令来操作flask,如:可以通过命令来跑一个开发版本的服务器.设置数据库.定时任务等安装:pip install flask-script 命令的添加方式1 ...
- Pythonnumpy提取矩阵的某一行或某一列的实例
Python numpy 提取矩阵的某一行或某一列的实例 下面小编就为大家分享一篇Python numpy 提取矩阵的某一行或某一列的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看 ...
- 【转】Apache HBase 问题排查思路
[From]https://www.itcodemonkey.com/article/9426.html HBCK - HBCK检查什么? (1)HBase Region一致性 集群中所有region ...
- 【转】一次HBase问题的解决过程(Status: INCONSISTENT)
[From]https://www.cnblogs.com/quchunhui/p/9583746.html ==版本信息== HBase:2.7.1 Storm:1.0.1 RocketMQ:3.4 ...