部署社交平台

实验目的

  • 学会搭建SVN服务器
  • 学会部署社交网站
  • 对关键服务器进行双机热备
  • 学会对服务器调优

    案例分析

    公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制。社交网站的第个版木部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi 协议访问后端的PHP服务器。为了保证数据安全,要求搭建MySQL数据库主从集群。
    社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。针对共享存储可用的开源方案有很多,如MFS、FastDFS等。公司快定使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。

    本案例拓扑图如图5.1所示。

    案例实施

    根据公司的需求,实施过程大致分为以下步骤

  • 部署SVN服务器,为PHP程序员创建repo目录的访问账户,通知程序员石以导入代码。
  • 部署MySQL主从服务器,根据PHP程序员的要求创建数据库与表。
  • 部署Nginx服务器。
  • 部署PHP服务器。
    -部署MFS,将MFS文件系统挂载在前端PHP服务器的相关目录下。
    -通知上线部署人员可以发布上线。
    -保证数据库服务、PHP服务、Nginx服务依次启动,并通知测试人员开始测网站维护人员检查Nginx、PHP与数据库服务器是否正常工作。

部署SVN服务器

(1)安装SVN

[root@localhost ~]# yum install -y subversion
[root@localhost ~]# svnserve --version
svnserve, version 1.7.14 (r1542130)compiled Nov 20 2015, 19:25:09 #//查看版本

(2)为PHP程序员创建仓库目录repo

[root@localhost ~]# mkdir -p  /opt/svn/repo #//创建目录
[root@localhost ~]# svnadmin create /opt/svn/repo/  #//创建仓库
[root@localhost ~]# ls !$  #//目录创建完成后会生成所需要的配置文件
ls /opt/svn/repo/
conf  db  format  hooks  locks  README.txt

(3)调整SVN参数

[root@localhost ~]# vim /opt/svn/repo/conf/svnserve.conf
anon-access = read   #//把read改为none匿名用户
auth-access = write  #//认证用户具有写入权限
password-db = passwd #//把passwd改为 /opt/svn/repo/conf/passwd 用户密码密码的存放路径
authz-db = authz     #//把authz改为 /opt/svn/repo/conf/authz 用户信息存放路径

(4)创建用户验证密码文件和用户信息文件并启动服务

[root@localhost ~]# cd /opt/svn/repo/conf/
[root@localhost conf]# ls #//对passwd文件和authz文件进行修改
authz  passwd  svnserve.conf
[root@localhost conf]# vim passwd
[users]
admin = abc123 #//admin是PHP程序员创建的账户密码为abc123
[root@localhost conf]# vim authz #//在文件最后一行创建
[/]         #//对repo根目录的操作权限
admin = r   #//admin账户具有读取权限
[/webphp]   #//对根目录下webphp目录的权限
admin = rw  #//admin账户具有读取写入权限
[root@localhost repo]# mkdir webphp  #//在repo根目录下创建需要操作的子目录
[root@localhost repo]# svn import webphp file:///opt/svn/repo/webphp/ -m "初始化目录"    #//初始化导入webphp目录Committed revision 1.
[root@localhost repo]# svnserve -d -r /opt/svn/repo/   #//启动svn服务
[root@localhost repo]# netstat -lnupt | grep svnserve  #//查看端口
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      1918/svnserve   

部署Nginxf服务器对Nginx重要服务器做keepalived双机热备

(1)安装keepalived

[root@localhost ~]# yum install keepalived -y
[root@localhost ~]# vim /etc/keepalived/keepalived.conf  #//修改配置文件
global_defs {notification_email {sysadmin@firewall.loc #//邮箱地址可以改为自己的邮箱地址在一台服务区down掉后会通过邮件发送给你}
router_id LVS_DEVEL #//可改可不改,从服务器上要改因为不能和主服务器重叠router是唯一标识这边我该为了LVS_A从服务器要改为LVS_B
#//删除router_id下列四行vrrp_instance VI_1 {state MASTER #//主服务气味MASTER从服务器为BASKUPinterface eth0 #//网卡改为本服务器网卡centos7的网卡是ens33virtual_router_id 51 #//keepalived组好主从要相同priority 100 #//优先级从服务器小于100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.32.188 #//默认有三个去掉两个或者改为自己设定的VIP主从要一样} #//把虚拟ip下面的全部删除

(2)启动并查看VIP有没有开启

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0 #//关闭防火墙和setenforce
[root@localhost ~]# systemctl start keepalived.service
[root@localhost ~]# ps -ef | grep keepalived
root     11384     1  0 13:19 ?        00:00:00 /usr/sbin/keepalived -D
root     11385 11384  0 13:19 ?        00:00:00 /usr/sbin/keepalived -D
root     11386 11384  0 13:19 ?        00:00:00 /usr/sbin/keepalived -D
root     11405 10998  0 13:20 pts/2    00:00:00 grep --color=auto keepalived
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:3f:7f:08 brd ff:ff:ff:ff:ff:ffinet 192.168.32.209/24 brd 192.168.32.255 scope global dynamic ens33valid_lft 1184sec preferred_lft 1184secinet 192.168.32.188/32 scope     global ens33 #//VIPvalid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe3f:7f08/64 scope link valid_lft forever preferred_lft forever
#尝试down主服务器的keepalived看一下188
#的虚拟IP会不会绑定到从服务器上验证一下
#主服务器从新启动keepalived,188
#端口又会回到主服务器上

(3)安装Nginx服务器

[root@localhost ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y #//安装语言开发包和工具
[root@localhost ~]# tar zxvf /abc/nginx-1.12.0.tar.gz -C /opt/ #//解压源代码包到/opt目录下
[root@localhost ~]# useradd -M -s /sbin/nologin nginx #//创建管理用户不允许本地登录
[root@localhost ~]# cd /opt/nginx-1.12.0/ #//进入nginx解压的文件夹进行编译
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --user=nginx --group=nginx #//指定安装路径用户和组
[root@localhost nginx-1.12.0]# make && make install #//用make 和 make install 转换为系统可识别的文件

(4)修改Nginx配置文件,需要配置PHP程序的fastcgi访问接口

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conflocation / {root   html;  #//把html改为html/wedphpindex  index.html index.htm;}
#//在地下加入下面这段话location ~ \.php$ {root           /var/www/html/webphp;    #//页面存放位置fastcgi_pass   192.168.32.209:9000;     #//PHP服务器地址fastcgi_index  index.php;include        fastcgi.conf;
[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #//建立软连接便于启动
[root@localhost ~]# nginx
nginx: [emerg] unexpected end of file, expecting "}" in /usr/local/nginx/conf/nginx.conf:117
#//如果在启动nginx中遇到这种报错说明要在117行加一个这样符号}
[root@localhost ~]# nginx #//启动
[root@localhost ~]# netstat -ntap | grep 80 #//查看端口号
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14066/nginx: master 

部署PHP服务器

(1)安装PHP

[root@localhost ~]# tar zxvf /abc/php-5.5.38.tar.gz -C /opt/ #//解压源代码包
[root@localhost ~]# yum -y install \
> gd \
> libxml2-devel \
> libjpeg-devel \
> libpng-devel \
> zlib-devel \
> fontconfig-devel \
> openssl-devel \
> bzip2-devel     #//首先安装GD库及GD库关联程序
[root@localhost ~]# useradd -M -s /sbin/nologin php #//创建用户不允许本地登录
[root@localhost php-5.5.38]# cp /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so  #//PHP默认去/usr/lib搜索libmysqlclient.so.18[root@localhost php-5.5.38]#  ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir \
--with-openssl \
--disable-ipv6 \
--enable-fpm------如果在执行操作中出现错误请按照以下操作如果没有请跳过-------------------------------
#注:在执行以上操作是出现一下错误
Note that the MySQL client library is not bundled anymore!
#请查找到mysql.h文件,我们更改参数为--with-mysql=/usr,如果没有的话,请安装mysql-devel包,
[root@localhost php-5.5.6]# find / -name mysql.h
/usr/include/mysql/mysql.h
[root@localhost php-5.5.6]# yum install mysql-devel -y
---------------------------------------------[root@localhost php-5.5.38]# make && make install #//转换文件类型
[root@localhost php-5.5.38]# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
[root@localhost php-5.5.38]# vim /usr/local/php5/etc/php-fpm.conf
;pid = run/php-fpm.pid #//去掉恰免得冒号
user = nobody  #//nobody改为php
group = nobody #//nobody改为php
listen = 127.0.0.1:9000 #//监听地址改为0.0.0.0:9000
pm.max_children = 5       #//改为50
pm.start_servers = 2      #//改为20
pm.min_spare_servers = 1  #//改为5
pm.max_spare_servers = 3  #//改为35
[root@localhost php-5.5.38]# /usr/local/php5/sbin/php-fpm  #//启动服务
[root@localhost php-5.5.38]# netstat -ntap | grep 9000
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      26085/php-fpm: mast [root@localhost php-5.5.38]# mkdir -p /var/www/html/webphp/ #//创建首页目录
[root@localhost php-5.5.38]# vim /var/www/html/webphp/index.php #//创建首页
<?
phpinfo();
?>

PHP做完了通过主服务器ip、从服务器ip、虚拟ip:192.168.32.188分别访问,看到以下界面如果无法访问请关闭防火墙和setenforce 0

测试:
主,192.168.32.209
![image]
从:192.168.32.220
![image]
VIP:192.168.32.188
![image]

部署主从数据库(因为MySQL安装时间较长改为用yum安装使用mairadb)

(1)安装mariadb并修改配置文件

#//yum安装
[root@localhost webphp]# yum -y install mariadb-server mariadb#//修改配置文件
[root@localhost webphp]# vim /etc/my.cnf--------------------------------------------------------------------
#//删除以下9行
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
-----------------------------------------------------------------#//重新指定配置路径
[mysqld]
log_error=/var/lib/mysql/mysql.err
log=/var/lib/mysql/mysql_log.log
log_slow_queries=/var/lib/mysql_slow_queris.log
binlog-ignore-db=mysql,information_schema
character_set_server=utf8
log_bin=mysql_bin
server_id=1        #//从服务器要修改server_id
log_slave_updates=true
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1

(2)启动数据库并登录

[root@localhost webphp]# systemctl start mariadb.service#//用mysql命令直接登陆
[root@localhost webphp]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> 

(3)构建主从

#//主服务器授权给从服务器
MariaDB [(none)]> grant replication slave on *.* to 'replication'@'192.168.32.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)#//查看是否授权成功
MariaDB [(none)]> show grants for "replication"@"192.168.32.%";
+-----------------------------------------------------------------------------------------------------------------------------------+
| Grants for replication@192.168.32.%                                                                                               |
+-----------------------------------------------------------------------------------------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.32.%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)#//主服务器查看二进制日志和偏移量
MariaDB [(none)]> show master status;
+------------------+----------+--------------+--------------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB         |
+------------------+----------+--------------+--------------------------+
| mysql_bin.000003 |      410 |              | mysql,information_schema |
+------------------+----------+--------------+--------------------------+
1 row in set (0.00 sec)#//从服务器用授权用户密码登录master,通过二进制日志和偏移量开始备份主服务器
MariaDB [(none)]> change master to master_host='192.168.32.209',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410;
Query OK, 0 rows affected (0.01 sec)MariaDB [(none)]> slave start;
Query OK, 0 rows affected (0.00 sec)#//查看IO,SQL线程有没有连接成功,显示为YES表示为成功
MariaDB [(none)]> show slave status\GSlave_IO_Running: YesSlave_SQL_Running: Yes

MFS部署并挂载

搭建 Master Server

1、安装MFS
yum install -y zlib-devel gcc gcc-c++      //安装依赖包环境包
useradd mfs -s /sbin/nologin -M            //创建管理用户tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmountmake && make install 
2、复制文件
cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.dist mfsmaster.cfg          # 主配置文件
cp mfsexports.cfg.dist mfsexports.cfg           # 挂载权限
cp mfstopology.cfg.dist mfstopology.cfg           # top架构感知cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs        #防断裂

3、启动 Master Server

/usr/local/mfs/sbin/mfsmaster start       //开启
/usr/local/mfs/sbin/mfsmaster -s        //停止
netstat -antp | grep mfssystemctl stop firewalld.service
setenforce 0         //关闭防火墙和安全功能

搭建 Metalogger Server

1、安装MFS

yum install -y zlib-devel gcc gcc-c++       //安装依赖包环境包
useradd mfs -s /sbin/nologin -M          //创建管理用户tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmountmake && make install

2、复制文件

cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfgvim mfsmetalogger.cfg
......
MASTER_HOST = 192.168.43.118         //IP指向master

3、启动 Metalogger Server

/usr/local/mfs/sbin/mfsmetalogger start   //开启
/usr/local/mfs/sbin/mfsmetalogger -s    //停止
netstat -antp | grep mfssystemctl stop firewalld.service
setenforce 0         //关闭防火墙和安全功能

搭建 Chunk Server

1、安装MFS

yum install -y zlib-devel gcc gcc-c++        //安装依赖包环境包
useradd mfs -s /sbin/nologin -M          //创建管理用户tar xzvf mfs-1.6.27-5.tar.gz -C /opt/cd /opt/mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmountmake && make install 

2、复制文件

cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfgvim mfschunkserver.cfg
......
MASTER_HOST = 192.168.43.118         //IP指向mastervim mfshdd.cfg
......
/data            //添加一行/data,在这里/data是一个给MFS的分区,生产环境最好使用独立的分区或磁盘挂载到此目录mkdir /data        //创建文件夹
chown -R mfs:mfs /data        //属主属组都改为mfs
3、启动Chunk Server
/usr/local/mfs/sbin/mfschunkserver start   //开启
/usr/local/mfs/sbin/mfschunkserver start -s    //停止
netstat -antp | grep mfssystemctl stop firewalld.service
setenforce 0         //关闭防火墙和安全功能

客户端配置

此处PHP服务器是客户端角色,在PHP服务器上搭建

1、安装fuse

yum install -y zlib-devel gcc gcc-c++     //安装依赖包环境包tar xzvf fuse-2.9.2.tar.gz -C /opt        //mfs客户端依赖于fuse
cd /opt/fuse-2.9.2./configuremake && make install

2、设置环境变量

vim /etc/profile
#在末尾处插入
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATHsource /etc/profile         //加载立即生效

3、安装MFS客户端

useradd mfs -s /sbin/nologin -M        //创建管理用户
tar xzvf mfs-1.6.27-5.tar.gz -C /opt/
cd /opt/mfs-1.6.27/./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--enable-mfsmount       //注意此处开启客户端make && make install

4、挂载MFS文件系统

将MFS文件系统挂载在前端PHP服务器的/var/www/html/webphp/uploads/photos目录

mkdir -p /var/www/html/webphp/uploads/photos         //创建挂载点
modprobe fuse                     //加载fuse模块到内核
/usr/local/mfs/bin/mfsmount /var/www/html/webphp/uploads/photos -H 192.168.32.211      //挂载MFS

最后部署网站

---------建库,授权----------
mysql> CREATE DATABASE bbs;  //创建一个数据库//MariaDB [(none)]>  GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
//把bbs数据库里面所有表的权限授予给bbsuser,并设置密码//MariaDB [(none)]>  flush privileges;
//刷新数据库//
---------测试数据库--------------
vi /var/www/html/webphp/index.php
<?php
$link=mysql_connect('192.168.32.209','bbsuser','admin123');
if($link) echo "Success!!";
else echo "Fail!!";
mysql_close();
?>

测试出来的页面

![image]!

安装论坛

[root@localhost ~]# unzip /abc/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
[root@localhost ~]# cp -r /opt/dis/upload/ /var/www/html/webphp
[root@localhost ~]# cd /var/www/html/webphp
[root@localhost bbs]# chown -R php ./config
[root@localhost bbs]# chown -R php ./data
[root@localhost bbs]# chown -R php ./uc_client
[root@localhost bbs]# chown -R php ./uc_server/data

用http://192.168.32.188/bbs/install/index.php 进入安装页面:
![image]
![image]

安装完成
![image]

用http://192.168.32.188/bbs/index.php访问:
![image]

转载于:https://blog.51cto.com/13645280/2153507

论坛的搭建以及优化方案相关推荐

  1. android模拟器检测方案优化,逍遥模拟器优化方案 - 新手引导 - 逍遥安卓论坛 - Powered by Discuz!...

    本帖最后由 心芝雨 于 2016-11-15 15:47 编辑 模拟器优化电脑要开启vt(虚拟化技术) 切换到 独立显卡 (双显卡的) 模拟器设置2个cpu 2024内存(电脑需要4核心和4g内存的可 ...

  2. ckks方案优化最好的_站群如何优化才能提高SEO效果?站群优化方案有哪些?

    在竞争激烈的市场环境中,很多企业为了能够"崭露头角",总是想尽方法让自己的网站处在较前的位置,获得更多曝光的机会.然而,互联网的竞争大,能取胜的手段也是各式各样的,如站群优化是大多 ...

  3. 隐藏a标签seo_百度SEO网站整体优化方案 - 蜘蛛池博客

    原出处:蜘蛛池博客 原文链接:百度SEO网站整体优化方案 - 蜘蛛池博客 正常情况下单独优化网站的某一个点无法让网站发挥出最大的seo效果,通过对网站进行系统化诊断,以详尽的实用的网站seo整体优化方 ...

  4. 新站上线完整详细的SEO优化方案

    根据自己的个人经验完成了这篇文章,希望对SEOer有点帮助,高手直接跳过,请勿喷水... 一个完整的SEO优化方案主要由四个小组组成: 一.前端/页编人员 二.内容编辑人员 三.推广人员 四.数据分析 ...

  5. 一个网站完整详细的SEO优化方案

    根据自己的个人经验完成了这篇文章,希望对SEOer有点帮助,高手直接跳过,请勿喷水... 一个完整的SEO优化方案主要由四个小组组成: 一.前端/页编人员 二.内容编辑人员 三.推广人员 四.数据分析 ...

  6. 统一推送平台搭建与优化

    前言 需求背景 雪球近几年来用户量和产品线激增.为了更加贴切的迎合公司业务发展和用户个性化需求,实现以下目标: 满足用户对信息把控的时效性 增加用户终端机型的覆盖率 提升用户满意度和产品体验 雪球统一 ...

  7. 网站权重8 的网站优化方案

    网站权重8 的网站优化方案 文章目录 前言 一.利用第三方网站来转载自己收录的文章 二.转载思维方向和分类 三.利用网络收藏夹做好书签的渠道 四.把握百度产品分享自己网站内容 五.搜索引擎官方问答平台 ...

  8. 最全超实用的网站SEO优化方案步骤解析

    阿泽今天给大家带来一个超实用,史上最全的网站SEO优化步骤,全过程解析方案,绝对干货,值得收藏!不再为网站的SEO发愁,图解优化全程,一图在手,SEO无忧. SEO方案整体框架: 竞争对手分析:   ...

  9. 2019年最新最全的医疗网站优化方案

    今天冬镜就给大家讲讲2019年医疗网站应该如何优化? 医疗网站相比其他行业来说优化难度会更大,尤其是在百度魏则西事件后,医疗网站排名就出现了百度人工干预网站排名. 现在基本上随便搜索一个地域性的医疗关 ...

最新文章

  1. 六十八、快速幂算法、牛顿迭代法、累加数组+二分查找的变形
  2. 第2章 fping、hping应用
  3. scrapy爬个小网站
  4. 操作系统知识点大总结【进程同步与互斥】
  5. un3.0服务器文档,unturned3.0服务器指令是什么?
  6. python print输出字符串报错
  7. webConfig详细跳转配置.[转]
  8. 创编游戏计算机课反思,游戏课创编设计(王秀英)
  9. 谷歌眼镜设计规范之度量和网格
  10. java 正则表达式 替换 html,java 正则表达式 替换 html
  11. 大学报到前最后的技术——VMware探究
  12. utf8汉字编码对照表
  13. xmpp学习使用简单介绍(二)
  14. 阅读笔记20141202
  15. Sapphire应用场景剖析 | 基于行业首个隐私EVM构建DApp
  16. anaconda python降级有影响吗,更新conda会导致降级和被取代的包
  17. Downloader——Linux中的下载利器
  18. 【Python爬虫】之 抓取“微医”上的医生信息
  19. PointPillars:基于点云的快速目标检测网络
  20. BPE系列之—— BPE算法

热门文章

  1. libevent的vs2013的源码工程 以及两个demo地址
  2. mysql if语句
  3. win32diskimager报错:An error occured when attempting to XXX, Error 5: Access is Denied
  4. python调用PostgreSQL 11
  5. LeetCode15:三数之和(转载思路)
  6. python3.x+requests 爬取网站遇到中文乱码的解决方案
  7. 【hdu4010】 Query on The Trees
  8. linq to entity 左联接 右连接 以及内连接写法的区别(转)
  9. C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法。...
  10. Java数组及二维数组初始化与赋值方法总结