Posts Tagged ‘Debian’

23

MySQL 移除 mysql-ndb、mysql-ndb-mgm 服务

   Posted by: 等待一生    in Web Server

前几天重新写了Ubuntu/Debian apt 安装Apache + PHP + MySQL的教程,不过漏了一个MySQL相关步骤,今天先在这里补上~

MySQL一般包括3个服务,mysql、mysqld-ndb、mysql-ndb-mgm。mysql服务就是我们常有的数据库服务,mysqld-ndb是mysql cluster用的,mysql-ndb-mgm是mysql cluster的管理用的,我们在VPS上一般用不到mysql cluster,所以应该禁止掉mysql-ndb和mysql-ndb-mgm。

Read the rest of this entry »

Tags: , , ,

7

XEN VPS (Linux) - Ubuntu/Debian 安装pptpd VPN

   Posted by: 等待一生    in Web Server

之前介绍过Centos(Linode)上安装pptpd VPN,如今换了Ubuntu 9.10,之前的方法不是很好用了。幸好在网站找到了同样是Linode Ubuntu 9.10的用户所写的VPN介绍,转来之前已经测试过,完全可以。

Read the rest of this entry »

Tags: , , , , , ,

18

Linode Debian 设置 VPN

   Posted by: 等待一生    in Web Server

从DK YU那里看到的文章,有点讽刺,当时Linode想换Centos的原因之一是因为我只找到过Centos下架设VPN的教程。。。现在才找到Debian下的教程,唉。不过既然有人写了,那我就转转,说不定以后再用回Debian时有用呢。 Read the rest of this entry »

Tags: , ,

12

Ubuntu/Debian Apache2.2 控制并发数及下载速度

   Posted by: 等待一生    in Web Server

yy

半夜睡不着,起来瞎折腾了一会,想到我的VPS现在无法控制下载速度和连接数,有点麻烦,经ujj提醒,居然安装一个。网上找了找,有一个叫什么的忘记了,一次安装可以同时控制并发数及下载速度,但是用后觉得并不是很稳定,于是找了两个独立的组件进行安装,分别是:

  1. limitipconn
  2. bw(BandWidth)

首先安装limitipconn。无论是Ubuntu还是Debian,我都是通过apt方式来安装apache及相关程序的,所以这里需要一个Apache模组工具:

apt-get install apache2-threaded-dev

然后开始安装limitipconn:

cd /usr/local/src
wget http://dominia.org/djao/limit/mod_limitipconn-0.23.tar.bz2
tar xzvf mod_limitipconn-0.23.tar.bz2
cd mod_limitipconn-0.23

编辑“Makefile”文件,修改内容如下:

APXS=apxs

改为:

APXS=/usr/bin/apxs2

保存后继续安装:

make && make install

由于该组件原本针对的是Apache 1.x,所以make后会有错误提示,无视!

在“/etc/apache2/mods-available/”中建立新文件:

limitipconn.load

输入以下内容:

ExtendedStatus On
LoadModule limitipconn_module /usr/lib/apache2/modules/mod_limitipconn.so

接着在“/etc/apache2/conf.d/”中建立新文件:

limitipconn.conf

输入以下内容:

<IfModule mod_limitipconn.c>

# Set a server-wide limit of 10 simultaneous downloads per IP, no matter what.

MaxConnPerIP 10 <Location />

# This section affects all files under http://your.server/somewhere

MaxConnPerIP 3

# exempting images from the connection limit is often a good

# idea if your web page has lots of inline images, since these

# pages often generate a flurry of concurrent image requests

NoIPLimit image/*

</Location>

</IfModule>

在SSH窗口激活该组件:

a2enmod limitipconn

重新载入apache2

/etc/init.d/apache2 reload

好啦~apache2.2并发数设置完成了~

现在开始限制下载速度,和上面差不多:

cd /usr/local/src
wget http://ivn.cl/files/source/mod_bw-0.8.tgz
tar xzvf mod_bw-0.8.tgz
cd mod_bw
/usr/bin/apxs2 -a -c mod_bw.c
cp .libs/mod_bw.so /usr/lib/apache2/modules/

在“/etc/apache2/mods-available/”文件夹中建立新文件:

bw.load

输入以下内容:

BandWidthModule On
LoadModule bw_module /usr/lib/apache2/modules/mod_bw.so

在“/etc/apache2/conf.d/”文件夹中建立新文件:

bw.conf

输入以下内容:

<IfModule mod_bw.c>

BandwidthModule On

ForceBandWidthModule On

Bandwidth all 51200

MinBandwidth all -1

</IfModule>

激活模组:

a2enmod bw

重新载入apache:

/etc/init.d/apache2 reload

好了,两个组件都安装好了,现在根据你要设置的网站,在相信的虚拟站点配置文件中输入以下内容:

<IfModule mod_limitipconn.c>

<Location /home/www/silent>

MaxConnPerIP 5

NoIPLimit image/*

</Location>

</IfModule>

<IfModule mod_bw.c>

BandWidthModule On

ForceBandWidthModule On

BandWidth all 51200

MinBandWidth all -1

</IfModule>

重启apache2:

/etc/init.d/apache2 restart

现在在该站点建立一个100m的测试文件,然后你可以根据地址下载测试连接速度了~

dd if=/dev/zero of=/var/www/sst/data.bin bs=1024 count=102400

建议将data.bin改为一个随机文件名,这样用迅雷之类的多线程软件下载就能正确的测试你的连接数设置是否有效了。

Tags: , , , , , ,

10

Debian Apache2.2配置FastCGI(fcgid)

   Posted by: 等待一生    in Web Server

感动- - 之前在CentOS 4、5的编译安装中,从来没成功配置fcgid的。。。其中与我编译安装php有关,居然没有php-cgi。。。不过还好,在debian找回那么一点点自信。。。终于成功啦~

fcgianzhuancgeg090709

安装FastCGI的好处不少,可以支持在一个系统上支持同一种脚本不同版本的解释器,比如PHP4,、PHP5;只要安装一个apache 的module后,就可同时支持PHP, Python, Perl等,没有必要为它们安装各自的module。

对我的好处就是,比起Apache2来说,FastCGI处理速度快,而且内存总体消耗要低不少,虽说稳定性不及Apache2,毕竟好几年没更新的玩意了= = 之前安装可以参考这里:Apache2+MySQL5+PHP5

1,先禁用一些脚本(书费特殊需要,否则能免责免,也可以减少服务器负担)

libapache2-mod-php5,
libapache2-mod-perl2,
libapache2-mod-python2.4

可以使用如下命令禁用:

apt-get remove libapache2-mod-php5 libapache2-mod-perl2 libapache2-mod-python2.4

2,为了让PHP支持FastCGI,需要安装php5-cgi

apt-get install php5-cgi

3,安装FastCGI(mod_fcgi)

apt-get install libapache2-mod-fcgid libfcgi-perl

检查PHP是否成功支持FastCGI:

ls /usr/bin/php5-cgi

或者

/usr/bin/php-cgi -v

出现"(cgi-fcgi)"就表示成功了

4,fcgid配置:

安装后,fcgi的模块会出现在"/etc/apache2/mods-available/"文件夹中,并以软连接形式链接到"/etc/apache2/mods-enabled/fcgid.conf"

打开fcgid.conf,编译以下内容:

<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
SocketPath /var/lib/apache2/fcgid/sock
IPCConnectTimeout 20
</IfModule>

修改为:

<IfModule mod_fcgid.c>
AddHandler fcgid-script .php .py .pl .fcgi
SocketPath /var/lib/apache2/fcgid/sock
IPCConnectTimeout 20
</IfModule>

也可以根据自己需要添加以下任一配置指令:

IdleTimeout 600
ProcessLifeTime 3600
MaxProcessCount 8
DefaultMinClassProcessCount 3
DefaultMaxClassProcessCount 3
IPCConnectTimeout 8
IPCCommTimeout 48

5,启动fcgi:

检查"/etc/apache2/mods-enabled/fcgid.load"文件,应该会有以下内容:

LoadModule fcgid_module /usr/lib/apache2/modules/mod_fcgid.so

编辑"/etc/apache2/sites-enabled/"下的网站配置文件,查找以下内容:

AllowOverride All

在这行以下添加:

FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch

不知道是不是正常,我设置后,必须每个站点配置文件都需要这样操作 - - 不过也不觉得麻烦就是了。

重启Apache:

/etc/init.d/apache2 restart

现在看看你的PHP探针,PHP运行方式是不是变为了“CGI-FCGI”?

Tags: , , , ,

5

查看Debian已安装的包

   Posted by: 等待一生    in Web Server

一般VPS为了减少内存消耗,几乎都是使用SSH登录操作的。但相对来说会麻烦很多,比如查看是否已安装了某个程序包。以下简单记录两个debian下查询软件包的命令,方便日后查询。

1,直接查看:

dpkg -l | grep '^ii'

或者

dpkg -l

2,通过简单的图形界面查看:

aptitude

如果没有安装aptitude,可以在debian下直接安装该软件包:

apt-get install aptitude

然后再次输入:

aptitude

简单吧?

aptitude090706

Tags: , ,

4

Debian安装Xcache、eaccelerator

   Posted by: 等待一生    in Web Server

刚刚写了关于 Debian aptget 安装Apache 、PHP 、MySQL等等,但Xcache、eaccelerator一直没有办法安装,刚刚无意间看到网上的一些资料,试了下,居然成功了- - 记录下来~备用~

注:尽可能按照Xcache、Zend、eaccelerator 这个顺序安装,否则Zend可能会失效。

安装Debian解压缩软件

apt-get install unzip

安装PHP组件

apt-get install php5-dev

1,先安装xcache:

cd /usr/local/src
wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
tar zxvf xcache-1.2.2.tar.gz
cd xcache-1.2.2
phpize
./configure --enable-xcache --enable-xcache-coverager --enable-inline-optimization --disable-debug
make && make install

make install后,会显示.so文件的路径:“/usr/lib/php5/20060613+lfs/” 记录下来,之后需要。

修改php.ini文件,最后加入以下代码:

[xcache-common]
zend_extension = /usr/lib/php5/20060613+lfs/xcache.so     //刚才记录下的路径

[xcache.admin]
xcache.admin.user = "admin"
; xcache.admin.pass = md5($这里输入密码)
xcache.admin.pass = "在此输入密码的md5 32位值"

[xcache]
xcache.cacher = On
xcache.shm_scheme = "mmap"
xcache.size = 32M
; cpu number (cat /proc/cpuinfo |grep -c processor)
xcache.count = 2
xcache.slots = 8k
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 2M
; cpu number (cat /proc/cpuinfo |grep -c processor)
xcache.var_count = 4
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.readonly_protection = Off
xcache.mmap_path = "/dev/zero"

xcache.size = 32M //给予64M的缓存
xcache.count = 4 //四核的CPU(视情况,可以删除)

修改/etc/php.d/xcache.ini文件,主要是修改这几个选项,其它用默认值即可。
xcache.size = 32M
xcache.count = 4
给予32M的缓存,四核的CPU。

再查找

output_buffering = Off

修改为

output_buffering = On

2,安装Zend

cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

按照它的提示一步步进行就行了。

3,安装eaccelerator

wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip
unzip eaccelerator-0.9.5.3.zip
cd eaccelerator-0.9.5.3
phpize
./configure --enable-eaccelerator=shared
make && make install

再次修改php.ini文件,最后加入以下代码:

extension=eaccelerator.so
[eaccelerator]
eaccelerator.shm_size=32
eaccelerator.cache_dir=/tmp/eaccelerator
eaccelerator.enable=1
eaccelerator.optimizer=1
eaccelerator.check_mtime=1
eaccelerator.debug=0
eaccelerator.filter=
eaccelerator.shm_max=0
eaccelerator.shm_ttl=0
eaccelerator.shm_prune_period=0
eaccelerator.shm_only=0
eaccelerator.compress=1
eaccelerator.compress_level=9

接着为eAccelerator创建一个临时缓冲目录,这里我们定义为/tmp/eaccelerator,并保持这个目录可写!

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

好了,打工告成~现在可以查看phpinfo.php,是不是都有显示了?

4,在这里顺便提一下:之前安装过sock5服务器ss5,但有点小问题,这里提一下:

安装更新:

cd /usr/local/src
wget http://jaist.dl.sourceforge.net/sourceforge/ss5/ss5-3.6.4-3.tar.gz
tar -zxf ss5-3.6.4-3.tar.gz
cd ss5-3.6.4
./configure --prefix=/usr --with-defaultport=1080 (修改默认端口)
make&&make install

启动的时候,socks4也会随着更新,为了避免非法用户登录,进入/usr/lib/ss5目录,将mod_socks4.so重命名为mod_socks4.so.bak 或者输入以下代码:

cd /usr/lib/ss5
mv mod_socks4.so mod_socks4.so.bak

现在好了~收工~~~

066

鸣谢ujj提供技术参考,下次有问题我会继续当面骚扰的~不客气~~

Tags: , , , ,

4

Debian安装Apache2+MySQL5+PHP5

   Posted by: 等待一生    in Web Server, 寂静街广场

终于在Debian用apt-get安装好LAMP了,之前在CentOS使用编译安装,速度比现在快,但内存使用怎么都优化不下来,又没时间深入研究。。。使用yum安装后更头疼,别的都可以,phpmyadmin居然不能连接数据库。。。试了N种方法都不行,最终只能放弃。装回Debian了- -

debianapachemysqlphp090705

记录下自己的安装过程,以备后用~

1,更新Debian:

apt-get update

apt-get updgrade

2,安装Apache2:

由于内存只有360M,得省着用,所以选择了prefork模式安装:

apt-get install apache2-mpm-prefork

3,安装mysql

apt-get install mysql-server-5.0 mysql-common mysql-client

4,安装php相关组件,并整合mysql

apt-get install php5-common php5-mysql php5-cgi php5-gd php5-mcrypt libapache2-mod-php5 php5-memcache php5-imagick php5-suhosin php5-xmlrpc

如果需要,可以如下安装

apt-get install php5-common php-pear php5-curl php5-dev php5-gd php5-idn php5-imap php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xsl

注:

如果要删除某个包,可以用以下命令

apt-get remove

比如删除php-cgi

apt-get remove php-cgi

如果不知道有哪些安装包,可以用如下命令:

apt-cache search

比如:

apt-cache search apache2

5,设置Mysql账户、密码,及优化:

mysqladmin -u root password ''   //在引号中输入密码

登陆MySQL数据库

mysql -u root -p

修改原始账户(mysql)

mysql>use mysql;
mysql>update user set user="自己设定用户名" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)
mysql>select Host,User,Password,Select_priv,Grant_priv from user;
mysql>delete from user where user=''; (删除user用户)
mysql>delete from user where password=''; (删除user用户)
mysql>delete from user where host=''; (删除user用户)
mysql>drop database test; (删除默认的test数据库)
mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效)
mysql>quit;

修改MySQL的配置文件在/etc/mysql/my.cnf

找到 #skip-innodb 去掉注释

重新载入Mysql

/etc/init.d/mysql reload

或者重启Mysql

/etc/init.d/mysql restart

6,设置php

修改文件:/etc/php5/apache2/php.ini

找到以下数值,修改为自己需要的数值

memory_limit
post_max_size
upload_max_filesize

关闭以下功能 Off

enable_dl
display_errors

7,Apache优化及设置:
修改 /etc/apache2/apache2.conf文件

Timeout 300

改为

Timeout 60

KeepAliveTimeout 15

改为

KeepAliveTimeout 5

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

改为

StartServers 3
MinSpareServers 5
MaxSpareServers 10
MaxClients 50
MaxRequestsPerChild 2000

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

保存退出,并重启apache

/etc/init.d/apache2 reload

/etc/init.d/apache2 restart

激活deflate模块(用于页面压缩),在SSH界面输入:

a2enmod deflate

让apache2得进程加载新配置的模块

/etc/init.d/apache2 force-reload

再修改 /etc/apache2/apache2.conf文件,在最后加入

在文件之后加入:

DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js

激活mod rewrite(用于伪静态连接地址),在SSH界面输入:

a2enmod rewrite

让apache2得进程加载新配置的模块

/etc/init.d/apache2 force-reload

再修改 /etc/apache2/apache2.conf文件,在最后加入:

RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

网上有人这么设置的,不过很多时候,网站多了很不好控制,都已我没有在apache2.conf添加这最后一段。

重新载入apache

/etc/init.d/apache2 reload

或重启apache

/etc/init.d/apache2 restart

8,在Debian Apache5下设置多域名:

设置/etc/apache2/sites-available/default,将ServerAdmin改为你自己的邮箱,并在之前添加一段,作为你的空间根目录域名:

ServerName xxx.com

将/var/www/目录全部修改为 /home/www/

在SSH界面输入:

chmod 755 -R /home/www     //设置网站根目录权限

ls -lh //查看文件夹属主

cd /home/www/

chown -R www-data:www-data /home/www/

做好这些后,保存并退出default。

在/home/www/建立新文件夹“1”;然后在当前目录“/sites-available/”新建一个文件,假设文件名为1,打开文件1,输入以下内容:

<VirtualHost *>

ServerName xxx.com       //此处输入域名

ServerAdmin webmaster@mgrei.com

DocumentRoot "/home/www/1/"       //网站目录

<Directory />                               //这段添加后,可直接支持.htaccess

Options FollowSymLinks

AllowOverride All

</Directory>

ErrorLog "/var/log/apache2/1-error.log"

CustomLog "/var/log/apache2/1-access.log" common

</VirtualHost>

保存该文件,然后在SSH界面下输入:

a2ensite 1

这时,设定的网站域名已经被绑定了,在/etc/apache2/sites-enabled/文件夹会有一个1的快捷链接。重启一下Apache后,就可以操作该网站了:

/etc/init.d/apache2 restart

现在就可以用浏览器登陆你的域名了~

分开设定确实麻烦了点,但好处还是很大的,比如我要单独维护网站1,只需要输入以下命令:

a2dissite silent

然后重启一遍即可

/etc/init.d/apache2 restart

其他网站还是会正常运作,不会受到牵连~

9,安装phpmyadmin:

由于debian的php版本是5.2的,所以可以使用phpmyadmin3.1,也省去了不少麻烦,不用apt-get安装,直接如下操作即可:

cd /usr/local/src
wget http://ncu.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0-all-languages.tar.gz
tar zxvf phpMyAdmin-3.2.0-all-languages.tar.gz
cp -rf phpMyAdmin-3.2.0-all-languages /home/www/phpmyadmin

10,安装sendmail:

很多人说sendmail不好,不过我不是要邮件服务器,只不过需要一些邮件发送支持罢了,sendmail对我是足够了~

apt-get install sendmail

11,安装 Zend Optimizer

cd /usr/local/src
wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

按照它的提示一步步进行就行了。

总之一句话。如果你的服务器环境不需要ZendOptimizer,那么能不安就不安装这个。避免和eaccelerator冲突。

好啦,全部装好了,可以使用了。。。不过目前由于是apt-get安装,没有找到php-config,所以eaccelerator和xcache暂时不能安装,不知道怎么办。。。

Tags: , , , , , ,

19

Apache2 安装与配置(Debian)

   Posted by: 等待一生    in Web Server

形势所逼,最近在使用LAMP架设VPS,从Linux到Apache,没一样不让我头疼的。网上找来的Apache教程都和我安装的有很大差异。。。干脆全面学习下算了。

apache2 Read the rest of this entry »

Tags: , ,

18

Debian常用命令

   Posted by: 等待一生    in 软件班

买了廉价VPS,只让我安装Linux,决定使用Debian。但该死的Linux命令还要重新找。。。哎,网上搜来这些,方便以后查询。 Read the rest of this entry »

Tags: , ,