linuxhttp安装
A. 怎样在linux中安装软件安装
软件包分类:
二进制(rpm)包
特点:安装速度快 简易
缺点:自定义性差 依赖性
a---->b---->c 树形依赖(http安装的例子)
a---b---c---a 环形依赖
源码包
由软件开发源码组成,安装时需要编译工具如gcc、gcc-c++等
优点:特点、开源 、定制
缺点:安装时间长,一旦报错,不易解决
(一) rpm管理工具
1 软件包命名
包名-版本号-发布次数-适合linux系统-硬件平台.rpm
包全名:操作没有安装的软件包,软件包使用包全名
包 名:操作的是已经安装的软件,软件包使用包名
2 安装及升级
rpm -ivh 包全名(绝对路径,一般在光盘的软件包目录中)
-i 安装
-v 显示详细信息
-h 显示进度
rpm -Uvh 包全名 提前下载好高版本的软件包
-U 升级
3 卸载
rpm -e 包名 如有依赖卸载失败
--nodeps 不检查依赖性,强卸!
4 查询
rpm -q 包名 查询包是否安装
rpm -qa | grep httpd 显示所有安装包
rpm -qi 包名 查询包的信息 -p 未安装包
rpm -qip 包全名 查询没有安装包的信息
-i information
rpm -ql 包名 查询包中文件的安装位置
rpm -qlp 包全名 查询没有安装的包,打算安装位置
-l list
rpm -qf 系统文件名 查询系统文件属于哪个包
yum在线管理工具
yum相对于rpm管理工具的优势:
yum可以在线安装升级,使用CentOS提供的网络站点下载所需软件包。
yum可以自动解除软件包之间的依赖关系,方便安装卸载
1 安装
yum -y install 包名
-y 自动回答yes
2 卸载
yum -y remove 包名
3 升级(有网)
yum -y update 包名
4 查看
yum list 查询所有可以安装的包
如果没有网络,yum管理工具可以将多媒体软件库作为yum源(池),继续完成软件管理。
yum默认将/etc/yum.repo.d/CentOS-base.repo文件作为第一yum源配置文件,此文件描述了网络站点的下载地址,如果此文件存在,则继续上网安装,断网时会安装失败。需要将yum源切换为光盘的多媒体文件中去。
将光盘作为yum源(以下步骤顺序部分先后):
1. 修改yum源配置文件
mv /etc/yum.repo.d/CentOS-Base.repo /root/
剪切或改名皆可,只要在原位置无同名配置文件即可。
2. 挂载使用光盘
mount /dev/sr0 /mnt/cdrom
3. 修改Media配置文件,指定yum源为挂载点
vi /etc/yum.repos.d/CentOS-Media.repo
#修改开始#
baseurl=file:///mnt/cdrom/ 指定yum源位置
enabled=1 yum源文件生效
gpgcheck=1 rpm验证不生效
#修改结束#
测试安装
yum -y install gcc (gcc是c语言编译器,不装gcc,源码包不能安装)
源码包安装
1 上传软件包
使用winscp等工具远程连接Linux,上传所需软件包
实例:上传httpd(apache)软件包至家目录
安装
1)解压
tar -xf 包文件
2) cd 解压目录
进入解压文件目录
3) 查看安装文档
INSTALL README
4)检测
./configure --prefix=/usr/local/apache2
功能:
1 检测系统环境,生成Makefile
2 定义软件选项
--prefix 指定软件安装目录
5) 编译
make
若编译失败使用make clean清除编译文件
6)安装
make install
3.启动
/usr/local/apache2/bin/apachectl start
源码包的启动脚本大多存在于安装目录下
4 卸载
直接删除安装目录
rm -rf /usr/local/apache2/
7
脚本安装
有提示一步步的跟着执行。
B. Linux系统怎么安装
成功安装slackware
12.0
在昨天11:40pm左右完成对SLACKWARE
12.0的安装。主要是正确安装了KDE桌面以及其桌面配置。在昨天12:00AM
时已经完成了命令行的安装,差个桌面进不去
敲了
startx
电脑它丫的反应是切断MONITOR
的信号
"NO
SIGNAL"
这招实在恨毒!我是想看看最新的K桌面是啥样子。又去整个
xorgconfig
本人是菜鸟级的用户,对LINUX命令表现无能,就是傻眼了。还好论坛上有位老外写了个从光盘安装方法,对配置是有借鉴作用,虽然我是从硬盘安装的(从各种LINUX论坛去搜高手写的文档,网络和GOOGLE早已搜刮过了,经过扒皮抽筋吸髓,差不多了,也找到了一两副文档有效,还是LINUX论坛里的好)
硬盘安装时一个重点:
#以下为那个朋友写的体会,我也是按这方法才安成的
昨天反复安装了N遍,折腾一天都没装好;今天早上起来又装了一次,终于装好了^_^。
我把CD1的文件解压到文件夹slack,在把CD2里目录slackware里面的文件解压到slack/slackware(CD1和CD2
都有目录
slackware,里面放的就是软件包),等到要求输入安装文件来源的目录的时候,输入:/slack/slackware(以前都是输入:
/slack,所以失败)。
还有2个疑问:
1.命令:fdisk/mbr
作用是修复引导区吗?
2.用GRUB安装的时候,输入命令:kernel
(hd0,0)/bzImage
root=/dev/hda1
其中(hd0,0)和/dev/hda1必须指的是同一个分区吗?
还有一个网友说是直接把
slackware
文件夹放到ISO文件所在的盘的根目录下,我两种都试了,成功的是后一个的方法,slackware直接放在根目录下。
有一点我在昨天6:AM时第一次安装时,安装的
*.ISO文件放在NTFS的D盘中,好像是不行,安装时提示是在FAT
或
LINUX分区里找*.ISO文件。之后的12:00PM时,我已经把全部ISO放在FAT32的E盘,然后就是把第一个ISO里的全部解压到E:\
slack下面,又把第二个ISO中的slackware文件解压到E:\slack\slackware下面,就是和第一个解压后的ISO文件里的
slackware放在同一个文件夹下。也就是那个朋友写的意思。
中午折腾到下午晚饭时间,还是没有整好系统,自己乱配置了xorgconfig
导致了三四次出现系统找不到MONITOR
和不支持16位的系统,真的崩溃,精神上和体力上,双重的!更郁闷的还是整到最后时刻进不了WINDOWS
我想自己用FDISK/MBR
试试看能不能修复一下子?答案是不行!因为我不是不懂怎么弄DOS命令。结果最终于是两个系统都不能进去。只好找WINDOWS安装盘求救,整了个全新的
WINXP。
我想了一下子是我自己在成功启动X-WINDOWS后去配置了个PPPOE我想上网,比较贪心,要试试看,新系统能不能上网,之前有个mandrake
2006
装起后就会把网卡给弄坏,返回到WINXP里,本地连接上一个红红的×
网张电缆被拨出一个漂起的红气球!要关机等一段时间后才会好的,我是前天晚上关上,第二天再开机才好。所以我得出的结论是要关机一段时间后。这次完安装
SLACKWARE
后不打算再玩PPPOE了,否则这东西再弄坏了WINXP或者SLACK本身,真是亏大了!
这个东西对我来说可能就是多一种学习写代码的工具,装了接近6G的空间,有点奢侈,当然这个东西可以听歌,看电影,娱乐不能少。里面SCREEN
SAVER
很炫的,看了很喜欢,华丽!!!!
KDE的可能现在流行,做得也漂亮。
还有一点是硬盘安装时要选择"INSTALL
FROM
HARD
DISK"
对于这条,我的硬盘是SCSI的,ISO在E盘,就是sda6
,在这里我填了
/sda6
回车
接下来还有一个选择源文件目录,就是解压的目录
"
SELECT
SOURCE
DIRECTORY"
对这条,我就是写上/slackware
后面就是参考网上搜刮来办。
用GRUB时,只写了三条,只是先把
第一个ios下
slackware-12.0-install-d1.iso\kernels\huge.s\
bxImage
解压出来放在C:\
再把第一个ISO下
slackware-12.0-install-d1.iso\isolinux\
initrd.img
解压到
C:\
至于引导用的GRUB
是要网上下的,要用到一个
grldr
的文件,网上都有这么写的。在C:\下找到
boot.ini
改里的东东,最后一行添加
C:\grldr="启动GRUB"
重起后选择GRUB接下来敲下面这些东西:
GRUB>>
kernel=(hd0,0)/bzImage
GRUB>>initrd=(hd0,0)/initrd.img
GRUB>>boot
我之前装了矮人工具箱的东西,它把那个C:\grldr="启动GRUB"
改成了
C:\grldr="矮人工具箱"
而我再追加一条
C:\grldr="启动GRUB"
重起后,选择启动GRUB,直接进了矮人工具箱,真叫人郁闷,这下子就不用装矮人工具箱了,本来那里面有个纯的DOS可以用的,虽然自己不会用DOS,但是那是个纯的
DOS多少还是有点心动,据说功能比命令提示符强多!那个矮人DOS是6.22的版本。因为没有软盘,所以不能用软盘装,现在配机器也少有装那个软盘的。所以想到用矮人来装个DOS。
C. 怎么用Linux远程安装HTTP
安装apache服务器,cent os用yum安装,debian和ubuntu用apt get安装。或者自己下载rpm安装包安装!
D. 用VM安装Linux时的HTTP代理信息怎么填
不需要设置代理的(直接点击“继续”按钮),代理只是在个别情况才需要,即使需要HTTP代理安装好了以后也可以再另外设置,虚拟机安装的Kali Linux在虚拟机网卡设置里面,设置成桥接就可以联网了。
E. Linux怎么进行网络安装
Linux网络安装全过程(安装fedora)
先来大概说一下网络安装linux的基本原理。我们是通过PXE(Pre-boot Execution Environment)(其实是intel设计的一个协议)来进行安装的,它可以使计算机通过网络启动。PXE协议分为server和client端,client就是我们即将要装linux的裸机。 linux下网络安装需具备3个条件:
1.dhcp服务器:用于客户端引导时分配IP地址
2.ftp、nfs、httpd服务器:用于保存操作系统的rpm包 3.tftp服务器:用于客户端的tftp引导。 我的方案是DHCP+NFS+TFTP 方案介绍:
这种方案需要首先设置一个启动服务器和一个安装服务器,可以配置在同一台机器上,然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。 软硬件需求: · 一台机器作为启动和安装服务器(虚拟机A) · 待安装的机器,它的网卡必须带有PXE支持(虚拟机B) · 一个完好的局域网,机器已经连入同一网。 · 系统镜像文件
配置步骤:
一、DHCP服务器
1、 安装DHCP
[root@localhost ~]# rpm -qa|grep dhcp ;查看是否安装了 dhcp libdhcp6client-1.0.22-1.fc10.i386 libdhcp-1.99.8-1.fc10.i386
dhcp-4.0.0-37.fc10.i386 ;若没有此包,则需用yum install dhcp来安装 libdhcp4client-4.0.0-30.fc10.i386 dhcpv6-client-1.0.22-1.fc10.i386 2、 配置DHCP
DHCP服务的配置文件是/etc/dhcpd.conf,通过修改配置文件进行配置,分两步:一是加入黑体部分,二是修改配置地址。
注:初始安装时/etc/dhcpd.conf配置文件为空,此时可以新建一个直接进行编辑。有个DHCP的配置例子为/usr/share/doc/dhcp-4.0.0/dhcpd.conf.sample。
[root@localhost /]# cd /etc
[root@localhost etc]# vim dhcpd.conf # DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample ddns-update-style interim; ignore client-updates; allow booting; allow bootp;
【必须与本机是同一网段】
subnet 192.168.186.0 netmask 255.255.255.0 {
option routers
192.168.186.135; 【本机地址】
#路由器地址
option subnet-mask
255.255.255.0;
#子网掩码
option domain-name-servers
192.168.186.135;
#DNS地址
option time-offset
-18000; # Eastern Standard Time
range dynamic-bootp 192.168.186.2 192.168.186.100;
filename "/linux-install/pxelinux.0"; #
filename 后面是tftp目录下的文件,用来指定tftp根目录的启动文件。【也可以直接写成
/pxelinux.0,具体由自己设定】
default-lease-time 21600;
#缺省租约时间
max-lease-time 43200;
#最大租约时间
}
[root@localhost ~]# ifconfig eth0 192. 168. 186.135/24
配置地址
[root@localhost etc]# ifconfig ;查本机IP地址。
eth0
Link encap:Ethernet
HWaddr 00:0C:29:26:AC:57
inet addr:192.168.186.135
Bcast:192.168.186.255
Mask:255.255.255.0
注意若要指定给某一特定主机分配地址,需再加入些东西,以下是一个例子
host MyP5 {
filename "pxelinux.0";
server-name "bootserver";
hardware ethernet ae:32:20:00:b0:02;
fixed-address 192.168.187.90;
为客户机(需要安装系统的机器)的 MAC 地址和所分配的IP地址。}
3、开启服务(开启成功则表示配置成功了)
[root@localhost etc]# service dhcpd start
(或者重启restart)
启动dhcpd:[确定]
使用
/etc/init.d/dhcpd start
也可以(在/etc/init.d下即可找到相应的服务service)
二、
NFS服务器
1、安装
NFS
[root@localhost /]# rpm -qa |grep nfs
nfs-utils-lib-1.1.4-1.fc10.i386
nfs-utils-1.1.4-1.fc10.i386
system-config-nfs-1.3.41-1.fc10.noarch
查询是否已安装,否则使用
yum install nfs
进行安装。
2
、配置NFS
[root@localhost /]# mkdir /linuxos
(建立各个版本ISO文件的存放目录,并且将ISO文件拷贝到此目录下,NFS支持iso格式安装。)
[root@localhost /]# mkdir tftpboot
[root@localhost /]# cd tftpboot/
[root@localhost tftpboot]# mkdir linux-install
[root@localhost /]# vim /etc/exports ;配置文件
/mnt *(ro,sync) ;(mnt为NFS的目录,用来存放操作系统。此处选/mnt是因为
其是挂载光盘的挂载点)
/tftpboot/linux-install *(ro,sync) 3、启动NFS
[root@localhost tftpboot]# exportfs –a ;使用此命令使配置生效 [root@localhost /]# service nfs start(或restart)
启动 NFS 服务: [确定] 关掉 NFS 配额: [确定] 启动 NFS 守护进程: [确定] 启动 NFS mountd: [确定]
三、TFTP服务器
1、安装TFTP
[root@localhost /]# rpm -qa |grep tftp
tftp-0.49-1.fc10.i386 ;这个只是tftp客户端软件
tftp-server-0.49-1.fc10.i386 ;这个才是tftp服务器软件(必不可少) 若没有则需使用yum下载。 [root@localhost /]# yum install tftp
[root@localhost /]# yum install tftp-server 2、配置TFTP
[root@localhost init.d]# vim /etc/xinetd.d/tftp ;配置文件 service tftp {
disable = no
socket_type = dgram protocol = udp wait = yes user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot ;将 /tftpboot 定义为 tftp 服务的默认目录,您可以自行修改。 per_source = 11 cps = 100 2 flags = IPv4 }
3、保存之后重启 /etc/init.d/xinetd 服务,即可开启 tftp 服务。(注意此服务service不识别)
[root@localhost /]# /etc/init.d/xinetd restart
停止 xinetd: [确定] 启动 xinetd:
[确定] 4、 测试tftp (1)下载文件
F. 再问关于linux的安装
装Linux不要格硬盘
安装前要对硬盘规划好,即确定好Linux安装在哪个分区。因为Linux支持的分区格式: Linux Native(根分区)和Linux Swap(数据交换区),与Windows 支持的分区格式不兼容。
1. Linux应安装在硬盘分区的最后一个扩展分区。例如:原来分区为C、D、E、F,一定要将Linux安装在F盘。如果你将Linux安装在了D盘, 那么进入Windows 9x后,原来的E盘成了D盘,F盘成了E盘。虽然各盘的软件都还能运行,但是桌面、开始选单的快捷键却都已无效。更麻烦的是注册表内还是原先E、F盘的信息。
2. Linux的Swap分区必须保证有60MB。 Native分区的大小由你要安装的Linux组件多少决定,但最少要保证240MB。由于现在Linux的应用软件比较少,Native分区也不必留得太大。建议Native分区不要超过550MB。
3.由于安装过程中会询问一些有关硬件的信息,因此要提前搜集好PC硬件方面的信息。硬件信息主要有显示器、显卡、鼠标、键盘等。特别是显示器的信息,将直接决定你安装Linux后,使用图形界面程序fvwm95的效果。
4. Linux的安装比Windows的安装麻烦得多。首先,安装时它不支持鼠标,你必须频繁使用Tab、 箭头、空格、回车等键做出选择。另外,如果你对满屏的英文没有十分把握,你手边最好放本字典。
5. Linux系统区分大小写。在安装、使用中输入命令时,请注意大小写
具体看http://www.yesky.com/289/1900789.shtml
Linux操作系统的安装要点http://vod.sjtu.e.cn/help/Article_Show.asp?ArticleID=742
G. linux怎样安装http服务
可以查看所有的服务。看看其中是否有httpd即可。httpd是http服务的守护进程。可以参考如下Web服务器的建立过程。示例环境及web服务器软件:LAMP(Linux,Apache,Mysql,php)(1)、下载安装mysql-5.5.25.tar.gz,默认安装位置/usr/local/mysql/
H. linux was怎么安装httpserver
安装JDK,IBMJava118-SDK-1.1.8-4.0.i386.rpm
假设将rpm下载到/root/rpms,从命令行输入:
rpm -ivh/root/rpms/IBMJava118-SDK-1.1.8-4.0.i386.rpm
在正确使用JDK之前必须设置好shell环境。检查有关shell的文档来了解如何设置环境。我使用bash,因此在/root/.bash_profile文件中添加了以下几行:
以下是引用片段:
JAVA_HOME=/usr/jdk118
PATH=$PATH:/usr/jdk118/bin
CLASSPATH=$CLASSPATH:/usr/jdk118/lib/classes.zip
export PATH JAVA_HOME CLASSPATH
为了确保更改在当前的命令行中生效,输入: . ~/.bash_profile
安装Web服务器(HTTP Server)
Web服务器必须在安 WebSphere Application Server之前安装。
下载安装包:ihs.6010.linux.ia32.tar
1、tar -xvf ihs.6010.linux.ia32.tar---生成一个目录IHS;
2、cd IHS--看到一个目录install;
3、 ./install--执行命令即开始安装 ,安装到了/opt/IBMIHS/目录下;
4、启动服务器:/opt/IBMHTTPServer/bin/apachectl start
如果看到一个错误 HTTP Server无法启动, 尝试更新 /opt/IBMHTTPServer/conf/httpd.conf 文件。因为我运行的是单机,所以将以下这行:ServerType inetd,更新为ServerType standalone。
netscape浏览器下载
下载地址:http://browser.netscape.com/release
下载包netscape-i686-pc-linux-gnu-sea.tar.gz
gzip -d netscape-i686-pc-linux-gnu-sea.tar.gz
tar -xvf netscape-i686-pc-linux-gnu-sea.tar.gz --解压生成一个目录netscape-installer
开始安装,进入netscape-installer,看到netscape-installer,执行命令:./netscape-installer 即可;
启动Netscape浏览器,并指向http://localhost/index.html,检查设置和运行是否一切正常。若正常应该看到类似图1的画面:IBM HTTP Server的欢迎页面。
安装和配置 WebSphere Application Server和安装其他软件一样:
1、gzip -d was.cd.6100.trail.base.linux.ia32.tar.gz --解压gzip
2、tar -xvf was.cd.6100.trail.base.linux.ia32.tar --解压 生成一个WAS的目录,进去之后看到一个绿色的目录install就对了,执行该目录就是安装;
3、cd WAS --进入加压后的目录
4、./install --执行安装。默认安装目录:/opt/IBM/WebSphere/AppServer
5、启动server:进入 /opt/IBM/WebSphere/AppServer/bin ,执行命令:./startServer.sh server1;
6、停止服务:进入/opt/IBM/WebSphere/AppServer/bin,,执行命令:./stopServer.sh server1;
7、启动HTTP Server
8、部署WEB Application
进入WebShere的控制台
cd /opt/IBM/WebSphere/AppServer
I. 如何在linux系统上安装mysql-udf-http
看到张宴的博客上关于"http/rest客户端的文章",怎样安装啥的直接都跳过,下面直接进入测试阶段,测试环境:虚拟机 复制代码 代码如下: [root@localhost ~]# uname -a Linux sunss 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux 内存和交换分区: 复制代码 代码如下: [root@localhost ~]# free -m total used free shared buffers cached Mem: 376 363 13 0 23 105 -/+ buffers/cache: 233 142 Swap: 1023 133 890 mysql: [root@localhost ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 57 Server version: 5.1.26-rc-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 使用的表结构: 复制代码 代码如下: DROP TABLE IF EXISTS `mytable`; CREATE TABLE `mytable` ( `id` int(10) NOT NULL AUTO_INCREMENT, `addtime` int(10) NOT NULL, `title` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; php操作MySQL的程序: 复制代码 代码如下: <?php $type = $_GET['type']; print_r($_GET); include_once("gettime.php"); $btime = getmicrotime(); $loop_cnt= 1000; //循环次数 $db_host = '127.0.0.1'; // $db_user = 'sunss'; // $db_pass = '123456'; // $db_name = 'test'; // $db_link = mysql_connect($db_host, $db_user, $db_pass) or die("Connected failed: ".mysql_error()."\n"); mysql_query('set names utf8'); mysql_db_query($db_name, $db_link); if ("put" == $type) {//修改 $i = 1; while ($i <= $loop_cnt) { $title = "jkjkjkjkjkjkjkjkjkjkjkjkjk"; $tt = time(); $sql = "update mytable set addtime=".$tt.",title='".$title."' where id='".$i."'"; $res = mysql_query($sql); if (FALSE == $res) { echo "update failed!\n"; } $i++; } } else if ("delete" == $type) { //删除 $i = 1; while ($i <= $loop_cnt) { $sql = "delete from mytable where id='".$i."'"; echo "delete sql: ".$sql."<br>"; $res = mysql_query($sql); if (FALSE == $res) { echo "delete failed!\n"; } $i++; } } else if ("post" == $type) { //添加 $i = 0; while ($i < $loop_cnt) { $title = ""; $tt = time(); $sql = "insert into mytable(addtime, title) values($tt, '".$title."')"; //print "SQL: ".$sql."<br>"; $res = mysql_query($sql); if (FALSE == $res) { echo "insert failed!\n"; } $i++; } } mysql_close(); $etime = getmicrotime(); $runTime = round($etime - $btime, 4); echo "runTime: ".$runTime."\r\n<br>"; ?> 单独执行php连接MySQL,单条连接添加1000条记录需要:0.9s左右 php操作memcache的程序: 复制代码 代码如下: <?php include_once("gettime.php"); $btime = getmicrotime(); //杩炴帴 $mem_host = "192.168.0.134"; $mem_port = "11311"; $timeout = 3600; $i = 0; $cnt = 1000; while ($i < $cnt) { $mem = new Memcache; $mem->connect($mem_host, $mem_port) or die("Could not connect!"); $ret = $mem->set($i, "11111111111", 0, $timeout); if (false == $ret) { file_put_contents("insert_failed.log", "post failed!\n", FILE_APPEND); } $mem->close(); $i++; } //鍏抽棴杩炴帴 $etime = getmicrotime(); $runTime = round($etime - $btime, 4); echo "runTime: ".$runTime."\r\n<br>"; ?> 单条连接添加1000条记录,需要0.8s左右, 创建触发器: 复制代码 代码如下: DELIMITER $$ DROP TRIGGER /*!50032 IF EXISTS */ `test`.`mytable_insert`$$ CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER `mytable_insert` AFTER INSERT ON `mytable` FOR EACH ROW BEGIN SET @tt_resu = (SELECT http_put(CONCAT('192.168.0.134/mem_ss.php?type=post&id=', NEW.id, "&data=", NEW.addtime), 11)); END; $$ 为触发器写个php更新memcache,代码如下: 复制代码 代码如下: <?php $id = $_GET['id']; $type = $_GET['type']; $json_data = $_GET['data']; var_mp($_GET); //杩炴帴 $mem_host = "192.168.0.134"; $mem_port = "11211"; $timeout = 3600; $mem = new Memcache; $mem->connect($mem_host, $mem_port) or die("Could not connect!"); if ("get" == $type ) { $val = $mem->get($id); echo $val; //$arr = jsonDecode($val,'utf-8'); //print_r($arr); } else if ("put" == $type) { $ret = $mem->replace($id, $json_data, 0, $timeout); if (false == $ret) { file_put_contents("replace_failed.log", "replace failed!\n", FILE_APPEND); } } else if ("delete" == $type) { $ret = $mem->delete($id); if (false == $ret) { file_put_contents("delete_failed.log", "delete failed!\n", FILE_APPEND); } } else if ("post" == $type) { $ret = $mem->set($id, $json_data, 0, $timeout); if (false == $ret) { file_put_contents("post_failed.log", "post failed!\n", FILE_APPEND); } } $mem->close(); ?> 使用php触发MySQL添加1000条记录,同时触发器触动php更新memcache,使用时间9s左右, 因为每次都关闭链接memcache,看是不是关闭链接导致慢,又写了一个程序: 复制代码 代码如下: <?php include_once("gettime.php"); $btime = getmicrotime(); //连接 $mem_host = "192.168.0.134"; $mem_port = "11311"; $timeout = 3600; $i = 0; $cnt = 1000; while ($i < $cnt) { $mem = new Memcache; $mem->connect($mem_host, $mem_port) or die("Could not connect!"); $ret = $mem->set($i, "11111111111", 0, 3600); if (false == $ret) { file_put_contents("insert_failed.log", "post failed!\n", FILE_APPEND); } $mem->close(); $i++; } //关闭连接 $etime = getmicrotime(); $runTime = round($etime - $btime, 4); echo "runTime: ".$runTime."\r\n<br>"; ?> 耗时0.9s左右,比一个连接慢不了多少。 为了定位是触发器慢还是http_put慢,创建一个临时表 tmp_mytable,表结构如下: 复制代码 代码如下: CREATE TABLE `mytable` ( `id` int(10) NOT NULL AUTO_INCREMENT, `addtime` int(10) NOT NULL, `title` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 再次修改触发器,如下: 复制代码 代码如下: DELIMITER $$ DROP TRIGGER /*!50032 IF EXISTS */ `test`.`mytable_insert`$$ CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER `mytable_insert` AFTER INSERT ON `mytable` FOR EACH ROW BEGIN insert into tmp_mytable values(NEW.id,NEW.addtime,NEW.title); END; $$ 再次用php向MySQL中添加1000条记录,消耗时间0.7s左右,证明效率消耗在http_put,也就是mysql-udf-http慢。 不知道我的测试有错没?还请正在使用mysql-udf-http的高手,或者对mysql-udf-http有研究的高手指教。
J. linux centos怎么搭建http文件服务器
centos如果是建立文件服务器一般使用ftp,安装vsftp服务即可。
如果使用http的文件服务器,可以使用apache的目录浏览功能。