编译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架构部署动态网站环境(源代码安装)
随机推荐
- Java官方操纵byte数组的方式
java官方提供了一种操作字节数组的方法——内存流(字节数组流)ByteArrayInputStream.ByteArrayOutputStream ByteArrayOutputStream——by ...
- (十五)C语言之字符串
- TCP输入 之 tcp_data_queue
tcp_data_queue作用为数据段的接收处理,其中分为多种情况: (1) 无数据,释放skb,返回: (2) 预期接收的数据段,a. 进行0窗口判断:b. 进程上下文,复制数据到用户空间:c. ...
- Ansible 快速安装配置,常用模块
Ansible是一个轻量级的工具,基于python语言实现,通过python中的paramiko来连接并管理机器, 功能强大(YAML,PlayBook,模块化功能),不需要安装客户端, 通过ssh连 ...
- mysql密码忘记更改
忘记mysql的密码是一件不好的事,通常我们会把密码记住,或者是存在文档中,避免忘记,如果忘记了密码可以参照下方方法来更改,这个操作需要重启mysql. 首先我们在my.cnf文件中的[mysqld] ...
- javascript之Screen(屏幕)对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- pandas中的reset_index()
数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引. import pandas as pd import nu ...
- iOS 企业版 打包
iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 Appstore,直接发布到自己的网站,让其他人在自己的网站上下载安装,但前提是要用苹果自带的Safari 浏览器才能下载安装,其他浏 ...
- boost::multi_index 提供一种千人在线即时排行榜的设计思路
原文地址: http://www.limerence2017.com/2019/06/23/cpp01/ 做游戏或金融后台开发,经常会遇到设计开发排行榜的需求.比如玩家的充值排行,战力排行等等.而这种 ...
- python爬虫播放mp3
我不明白这里出了什么问题.每次我试图在pyglet播放声音,我得到以下错误:WAVEFormatException: AVbin is required to decode compressed me ...