部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

news/2024/5/9 11:02:16/文章来源:https://blog.csdn.net/weixin_34024034/article/details/93026403

案例需求:社交网站采用PHP语言开发,为了管理开发代码,搭建SVN服务器进行版本控制,社交网站的第一个版本部署在LNMP平台上,前端为nginx服务器,通过fastcgi协议访问后端的PHP服务器。这里实现动静分离,动态页面交给PHP服务器来处理,静态页面交给nginx服务器来处理。为了保证数据安全,要求搭建Mysql数据库主从集群。

社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放,针对共享存储采用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。

本案例拓扑图如图所示:
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
案例实施
•部署SVN服务器,为PHP程序员创建repo目录的访问帐户,通知程序员可以导入代码
•部署Nginx服务器
•部署PHP服务器
•部署Mysql主从服务器,根据PHP程序员的要求创建数据库与表
•部署MFS,将MFS文件系统挂载在前端PHP服务器的相关目录下

案例部署环境:

主机IP地址操作系统主要软件包
SVN172.20.10.4CentOS7
Nginx172.20.10.9CentOS7nginx-1.12.0.tar.gz
PHP172.20.10.10CentOS7php-5.6.11.tar.bz2,mfs-1.6.27-5.tar.gz,fuse-2.9.2.tar.gz, ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
Mysql1172.20.10.11CentOS7mysql-5.5.24.tar.gz
Mysql2172.20.10.12CentOS7mysql-5.5.24.tar.gz
MFS master172.20.10.13CentOS7mfs-1.6.27-5.tar.gz
metalogger172.20.10.14CentOS7mfs-1.6.27-5.tar.gz
MFS chunk1172.20.10.2CentOS7mfs-1.6.27-5.tar.gz
MFS chunk2172.20.10.3CentOS7mfs-1.6.27-5.tar.gz

首先关闭所有主机的防火墙,selinux功能

systemctl stop firewalld.service
setenforce 0

部署SVN服务器:
•安装SVN服务
yum install -y subversion #安装SVN
svnserve --version #查看版本
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
为PHP程序员创建仓库目录repo
mkdir -p /opt/svn/repo
//创建目录
svnadmin create /opt/svn/repo/
//创建一个新的仓库
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
调整SVN参数
vim /opt/svn/repo/conf/svnserve.conf
anon-access = none
//匿名用户没有任何权限
auth-access = write
//认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd //用户的密码文件
authz-db = /opt/svn/repo/conf/authz //用户信息文件,主要是权限内容
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
启动SVN服务
svnserve -d -r /opt/svn/repo/
netstat -tunpl|grep svnserve
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
为PHP程序员创建账户并赋权
vim /opt/svn/repo/conf/passwd
[users]
zhangsan = abc123
sysadmin = abc123
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
vim /opt/svn/repo/conf/authz
[/]
zhangsan = r //根目录即/opt/svn/repo目录下,sysadmin具有读的权限
sysadmin = r //zhangsan用户对根目录有读的权限
[/webphp]
zhangsan = rw //zhangsan用户对此目录有读写的权限,用户导入PHP代码
sysadmin = r //运维工程师具有读的权限,用于部署
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
初始化php程序员目录库
mkdir /opt/svn/repo/webphp
svn import webphp/ file:///opt/svn/repo/webphp -m "初始化svn目录"
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
SVN服务器部署完成,PHP程序员可以将写好的代码导入webphp项目中。
部署Nginx服务
•事先将需要的软件包放到家目录下,进行部署;
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
useradd -M -s /sbin/nologin nginx
tar xzvf nginx-1.12.0.tar.gz -C /opt
cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
nginx
netstat -antp | grep nginx
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

配置nginx支持php解析
(1)在nginx的主配置文件中的server{}配置段,将php的网页请求转给PHP服务器的fpm模块处理
vi /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
root /var/www/html/webphp; #php文件所在目录
fastcgi_pass 172.20.10.10:9000; #php文件转发给php-fpm模块
fastcgi_index index.php; #默认文件是index.php
include fastcgi.conf; #包含fastcgi的配置文件
}
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
(2)重启nginx服务

killall -1 nginx

部署PHP服务器
•事先将需要的软件包放到家目录下,进行部署;
(1)安装php
yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel fontconfig-devel openssl-devel bzip2-devel
cd ~/
tar xjvf php-5.6.11.tar.bz2
cd php-5.6.11/
./configure --prefix=/usr/local/php5 --with-gd --with-zlib -with-config-file-path=/usr/local/php5 --enable-mbstring --with-jpeg-dir=/usr/lib --with-openssl --disable-ipv6 --enable-fpm
make && make install
cp php.ini-development /usr/local/php5/php.ini
ln -s /usr/local/php5/bin/ /usr/local/bin/
ln -s /usr/local/php5/sbin/
/usr/local/sbin/

(2)配置安装php加速器

cd ~/
tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x
cp ZendGuardLoader.so /usr/local/php5/lib/php
vim /usr/local/php5/php.ini

在php.ini文件末尾加入以下参数,开启ZendGuardLoader模块

部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
(3)配置php-fpm进程

cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf
useradd -M -s /sbin/nologin php
vim php-fpm.conf
//找到这些内容,然后修改
pid = run/php-fpm.pid
user = php
group = php
listen = 0.0.0.0:9000
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
(4)启动php-fpm进程
/usr/local/sbin/php-fpm
netstat -tnal | grep 9000
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署MySQL数据库,部署主从复制
•事先将需要的软件包放到家目录下,进行部署;

yum -y install ncurses-devel cmake gcc gcc-c++ ncurses bison libaio-devel
cd ~/
tar xzvf mysql-5.5.24.tar.gz
cd mysql-5.5.24/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/home/mysql/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_SSL=system -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1 -DWITH_SSL=bundled
make && make install

优化调整

在mysql源码目录中的support-files文件夹下,根据实际需求建立mysql系统的配置文件my.cnf

将mysql服务的启动脚本mysql.server添加为系统服务,并设置为开机自启项
\cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on

设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量
echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
source /etc/profile

初始化数据库

为了能够正常使用mysql数据库系统,应以运行用户mysql的身份执行初始化
useradd -s /sbin/nologin mysql
chown -R mysql.mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql --basedir=/usr/local/mysql --datadir=/home/mysql

vim /etc/init.d/mysqld

...........

basedir=/usr/local/mysql

datadir=/home/mysql #修改服务启动脚本,指定数据存放位置

............

启动mysql服务
service mysqld start
netstat -anpt | grep 3306

配置主从复制;
•修改mysql master主服务器的配置文件,在配置文件中修改或增加以下选项

vim /etc/my.cnf

server-id = 1 //修改id
log-bin=master-bin //增加主服务器日志文件//
log-slave-updates=true //增加从服务器更新二进制日志//
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
重启服务

service mysqld restart
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
登录mysql程序,给mysql slave从服务器授权
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
mysql slave从服务器配置

•在配置文件中修改或增加以下选项

vim /etc/my.cnf

[mysqld]

server-id = 2 #与主服务器id不一样

relay-log=relay-log-bin //从主服务器上同步日志文件记录到本地//

relay-log-index=slave-relay-bin.index //定义relay-log的位置和名称//
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
service mysqld restart
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
登录mysql配置同步

按主服务器结果更改下面命令中的master_log_file和master_log_pos的参数
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
在mysql master上给PHP服务器帐户授权,并同时验证主从同步;
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
在mysql slave上查看同步过来的数据库daima;
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
映射SVN仓库webphp服务目录到Nginx和PHP服务器上;

在Nginx服务器上;
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
编辑nginx首页文档index.html,并在浏览器上进行测试
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

在PHP服务器上

mkdir -p /var/www/html/
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
在网站根目录下编写一个“.php”格式的测试页面文件,使用PHP内建的“phpinfo()”函数显示服务器的PHP环境信息,PHP代码应包括在“<?php....?>”标记之间。
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
在网页 测试“http://172.20.10.9/index.php”,若能够看到PHP程序的版本号,配置命令,运行变量等相关信息,则表示web服务器已经能够正常显示PHP网页。
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
测试PHP网页能否访问Mysql数据库

•再编写一个测试网页文件mysql.php,添加简单的数据库操作命令,用于验证与Mysql服务器的连接,查询等操作。其中“mysql_connect()”函数用于连接Mysql数据库,需要指定目标主机地址,以及授权访问的用户名,密码。
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
通过浏览器访问测试网页,“http://172.20.10.9/mysql.php”,若能看到成功连接的提示信息,则表示能够通过PHP页面访问Mysql数据库。
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

部署MFS分布式文件系统

具体部署过程可参考另一篇文章《MFS分布式文件系统原理及环境搭建》

•搭建Master Server
yum install -y zlib-devel gcc gcc-c++
useradd mfs -s /sbin/nologin

tar xvf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27/
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount

make && make install

复制配置文件

在Master上需要用到的配置文件有两个:mfsmaster.cfg(主配置文件)和mfsexports.cfg(被挂载目录及权限配置文件)

cd /usr/local/mfs/etc/mfs/
cp mfsexports.cfg.dist mfsexports.cfg
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs

/usr/local/mfs/sbin/mfsmaster start #开启服务
•搭建MetaLogger server

yum install gcc gcc-c++ zlib-devel -y
useradd -s /sbin/nologin mfs

tar zxvf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27

./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfschunkserver \
--disable-mfsmount

make && make install

cd /usr/local/mfs/etc/mfs/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

修改配置文件
vi mfsmetalogger.cfg
MATER_HOST = 172.20.10.13 #指向master
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

/usr/local/mfs/sbin/mfsmetalogger start #开启服务

•搭建chunk Server(两台节点服务配置一样)

yum install -y zlib-devel gcc gcc-c++
useradd -s /sbin/nologin mfs
tar zxvf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27
./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfsmount

make && make install

cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg

修改配置文件

vi mfschunkserver.cfg
MASTER_HOST = 172.20.10.13
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
指定 MFS共享文件存储目录,
vi mfshdd.cfg
/data
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

mkdir /data
chown -R mfs:mfs /data

/usr/local/mfs/sbin/mfschunkserver start #启动服务
•在PHP服务器上配置MFS客户端。并挂载使用;

安装fuse插件

yum install -y zlib-devel gcc gcc-c++

tar xzvf fuse-2.9.2.tar.gz
cd fuse-2.9.2

./configure
make && make install

vi /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile

安装MFS

useradd mfs -s /sbin/nologin

tar zxvf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27

./configure \
--prefix=/usr/local/mfs \
--with-default-user=mfs \
--with-default-group=mfs \
--disable-mfsmaster \
--disable-mfschunkserver \
--enable-mfsmount

make && make install

将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 172.20.10.13
df –hT
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)

优化客户端

echo "export PATH=/usr/local/mfs/bin:$PATH" >>/etc/profile

source /etc/profile
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
mfssetgoal -r 2 /var/www/html/webphp/uploads/photos/ #设置文件被复制两份
•在MASTER-server上启动监控服务,通过浏览器可以监控MFS系统

/usr/local/mfs/sbin/mfscgiserv
部署社交网站(SVN+PHP+NGINX+MYSQL+MFS)
下一篇《SVN客户端配置及PHP程序员代码导入》将讲解在windows部署SVN客户端及PHP程序员如何将代码导入webphp项目中。

转载于:https://blog.51cto.com/13728740/2292334

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_801037.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改html会影响seo,网站修改css影响seo吗?

改动不大的话&#xff0c;不会影响&#xff1b;慢慢改&#xff0c;别一下子改动太大了&#xff0c;大幅度的修改。CSS样式在SEO中最重要的作用&#xff0c;就是平衡链接在内容页面与HTML的展示位置&#xff0c;它严重影响蜘蛛抓取的频率&#xff0c;以及传递的权重。css对seo影…

个人网站常用代码整理

我最近又更换wordpress风格了&#xff0c;感觉这种风格还不错。 但是吧&#xff0c;之前加进去的许多小东西就需要重新添加一次&#xff0c;由于很多东西是当时一遍看教程一边操作的&#xff0c;去原来的文件里扒拉也浪费了不少时间&#xff0c;所以决定在这里整理一下一些常用…

我的建站经历(教程)(二)

转载自我的博客&#xff1a;https://blog.ljyngup.com接 建站教程1三、安装WordPress 官网下载 这里不建议用面板自带的安装wordpress(我安装了好几次都装不起来)下载后上传到相应的域名下(可以是子域名目录&#xff0c;或者直接放到网站根目录下)然后访问域名&#xff0c;一步…

搜索关键词分析——以个人博客网站为例

背景 我做了一个个人博客网站&#xff0c;希望能够记录自己的学习&#xff0c;工作和成长笔记。同时为更多有相同需求的人提供帮助和支持。那么用户应该怎么来找到我这个博客网站呢&#xff1f;通过什么关键词能够快速找到这个博客网站呢&#xff1f; 接下来本文就来探讨一下关…

快速学习Docker-部署静态网站

设置容器的端口映射 run [-P] [-p] -P , --publish-alltrue|false 默认为false :将为容器所有暴露的端口进行映射. 示例:docker run -P -i -t centos /bin/bash-p, --publish[ ] :给指定的端口进行映射. 方式一:containerPort 示例:docker run -p 80 -i -t centos /bin/bas…

云服务器怎么找网站的根目录,如何访问云服务器的根目录

如何访问云服务器的根目录 内容精选换一换通过内网连接云手机实例时&#xff0c;需要在租户VPC中创建一台弹性云服务器&#xff0c;作为连接云手机的跳板机器。若创建云手机服务器时未使用自定义网络&#xff0c;还需在云手机租户的VPC和服务器所在VPC之间建立对等连接&#xf…

c语言实现二叉树函数源码百度网盘,捕鱼赢钱的 -官方网站

php最近在研究 Excel 中的 VBA ,也就是Excel 的宏,需要将第一个页面的值,等列排入第二个Sheet页中 就像第一个页面中 排列成 这个样子 首先需要缕缕自己的思路 我们需要获取到第一个Sheet 也的值 Set Destination Worksheets("Sheet1") 获取到以后,要如何去找到每一…

xml 前言中不允许有内容_如何禁止搜索引擎收录指定网页内容 | 网站 robots.txt 文件配置方法...

点击蓝字关注我获取 高效/实用/好玩 的工具软件和教程前言搜索引擎通过网络蜘蛛(机器人)抓取网页的内容&#xff0c;并展示在相关的搜索结果中。但是有些网页内容我们可能并不想被搜索引擎收录和索引&#xff0c;如管理员后台等。我们就可以通过 robots.txt 文件来声明允许/禁止…

85个国外优秀的响应式网站设计作品范例【系列二】

响应式网页设计是时下网页设计领域最热门的话题之一&#xff0c;该概念由著名网页设计师 Ethan Marcotte 在2010年5月份提出&#xff08;详见&#xff1a;Responsive Web Design&#xff09;&#xff0c;其目标是要让设计的网站能够响应用户的行为&#xff0c;根据不同终端设备…

网站推广apahce 与 php整合

2019独角兽企业重金招聘Python工程师标准>>> 网站推广整合apache和php 1.修改apache的配置文件httpd.conf 1)在httpd.conf文件中找到有很多LoadModule的地方&#xff0c;在最后加上如下语句&#xff1a; LoadModule php5_module E:/soft_work/PHP/php5apache2_2.dll…

分享国外电商网站的七大时尚设计元素

最近一直想写个案例关于电商网站设计&#xff0c;从国内的电商网站中寻求素材&#xff0c;始终没有想要的&#xff0c;不得已收集了国外电商网站的一些设计元素&#xff0c;南京SEO陈奇个人认为&#xff0c;那是追随时尚的设计元素&#xff0c;当然这篇文章也是既《国外常见电商…

seo全攻略_网站外链怎样才能被快速收录呢?网站外链优化最全攻略

网站是企业在互联网平台盈利的一个有力工具&#xff0c;可以说如果没有网站&#xff0c;就等于放弃了一种有效的营销方式&#xff0c;真的是非常遗憾。因为这种营销方式相比广告投放&#xff0c;性价比更高&#xff0c;企业获客的主动性也更强。所以&#xff0c;越来越多的企业…

Server2008如何卸载MySQL_「完美卸载」完美卸载SQL Server 2008 R2 的方法,适合所有问题 - seo实验室...

完美卸载最近遇到了一件烦心事&#xff0c;在安装sql Server 2008 R2总是在Analysis Services选项那里出现错误&#xff0c;安装了一整天也没好&#xff0c;真的是按了又卸载&#xff0c;之后在按&#xff0c;为此我很苦恼&#xff0c;经过百度查询&#xff0c;终于找到本文&am…

鼠标移至div内部其他层时,触发mouseout

话说有一个DIV元素&#xff0c;其内部有一个IMG元素和SPAN元素&#xff0c;不用理会这两个内部元素怎么布局&#xff0c;这不是我要讨论的重点。 为了实现一些特殊的效果&#xff0c;我需要利用TD的onmouseover和onmouseout事件&#xff0c;测试时就会发现如下的状况&#xff1…

前端基础-CSS网站图标和字体图标

网站图标和字体图标 1.网站图标 作用&#xff1a;一个好的ico图标可以加深用户对于网站的记忆。降低用户记忆成本&#xff0c;就好像现在说道熊爪大家都能够想到度娘&#xff0c;更多的属于用户体验。有利于识别当前窗口是在哪个网站。 制作流程&#xff1a; ​ &#xff0…

JSP网站开发基础总结《九》

本篇属于附加篇&#xff0c;在之前的总结中给大家提到过一个关于登录状态验证的效果&#xff0c;当时是通过Session对象完成的&#xff0c;今天我查了一下&#xff0c;JSP为我们封装了一个用于过滤用的过滤器类Filter&#xff0c;通过它我们就可以非常轻松的完成之前的那个功能…

网站优化应重视 DNS 预获取(DNS Prefetching)

2019独角兽企业重金招聘Python工程师标准>>> 网站优化技术总是在进化。今天重新阅读了一下以前的前端优化笔记&#xff0c;发现对于 YSlow 优化 34 条准则关于减少 DNS 查找 (Reduce DNS Lookups)的部分或许应该修正一下了。 DNS 作为互联网的基础协议&#xff0c;其…

一步一步教你用PHP+MySql搭建网站 No.7 关键字和搜索

本篇是这系列教程的最后一篇了。 我们看到还有几个页面没有讲到&#xff0c;分别是 keywords相关页面 和search相关页面 将这两部分放在一起是因为search是搜索的关键字找到文章的。因为这本教材是比较老的教材了&#xff0c;所以里面的架构设计可能也比较老。 截止到目前&…

八个python免费自学网站一周熟练python(抓紧收藏)

PS&#xff1a;本文顺序无主次之分纯属我个人排版时候随便的顺序&#xff01;&#xff01;&#xff01;&#xff0c;另外可以把这篇文章分享给身边需要学习的人&#xff0c;帮助别人也是帮自己嘛 嘻嘻而且顺便说一下一周之内基础知识完全可以掌握的&#xff0c;至于能力提升就看…

【Machine Learning in Action --4】朴素贝叶斯过滤网站的恶意留言

背景&#xff1a;以在线社区的留言板为例&#xff0c;为了不影响社区的发展&#xff0c;我们需要屏蔽侮辱性的言论&#xff0c;所以要构建一个快速过滤器&#xff0c;如果某条留言使用了负面或者侮辱性的语言&#xff0c;那么就将该留言标识为内容不当。过滤这类内容是一个很常…