Skip to content

折腾VPS:LNMP+VSFTPD的搭建

2010 五月 16
by 荒野无灯

VPS 我用的是ubuntu 9.10 server x86的,因为个人对ubuntu 更熟悉一些,至于CentOS,没有折腾过。有时间再折腾吧。
先安装 vsftpd ,这是为了便于传文件,我可以在本地修改好配置文件,然后通过ftp传过去,哈哈。要知道,在VPS上vim 修改东西速度是相当慢的,在本地修改还是快一点。

burst主机不支持远程桌面的,在WIN下用putty登录ssh ,在LINUX下可直接ssh登录。


先安装vsftpd:

如果没有安装 gnome ,pam 一般是没有安装的,等下验证我们需要 libpam :

1
2
3
4
5
6
7
8
apt-get install flex bison
apt-get install chkconfig
wget http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.99.10.0.tar.gz
tar xvzf Linux-PAM-0.99.10.0.tar.gz
cd Linux-PAM-0.99.10.0
./configure
make
make install

http://vsftpd.beasts.org/

http://vsftpd.beasts.org/vsftpd_conf.html

1
2
3
4
apt-get install db4.7-util
wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.2.2.tar.gz
tar -xvzf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2

我修改了 defs.h ,将默认配置文件位置修改为 /etc/vsftpd/vsftpd.conf
然后是

1
2
make && make install
mkdir /usr/share/empty/

下面是我的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
listen=YES
listen_port=21
pasv_min_port=30000
pasv_max_port=20999

anonymous_enable=NO
local_enable=YES

write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO


dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
#nopriv_user=ftpsecure
ftpd_banner=Welcome to hacklog FTP service.
chroot_local_user=YES
#ls_recurse_enable=YES
secure_chroot_dir=/usr/share/empty/
pam_service_name=vsftpd
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf

#chown_upload_mode=0644
chmod_enable=YES
virtual_use_local_privs=YES
file_open_mode=0666
local_umask=022
1
2
mkdir -p /etc/vsftpd/vsftpd_user_conf
vim /etc/vsftpd/loginUsers.txt

loginUsers.txt格式为:

user_id
password

1
2
db4.7_load -T -t hash -f /etc/vsftpd/loginUsers.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
1
vim /etc/pam.d/vsftpd

内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

1
2
3
4
5
6
7
mkdir /home/ftp
useradd ftpuser -d /home/ftp -s  /bin/false
chown ftpuser:ftpuser /home/ftp

cd /etc/vsftpd/vsftpd_user_conf
touch huangyewudeng
vim huangyewudeng

huangyewudeng内容为:

1
2
3
4
5
6
local_root=/var/www
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
1
chown ftpuser:ftpuser /var/www

启动ftp 并查看 libpam 是否成功加载:

1
2
3
4
5
6
7
8
9
10
11
root@vps:/home/soft/vsftpd-2.2.2# /usr/local/sbin/vsftpd &
[1] 23956
root@vps:/home/soft/vsftpd-2.2.2# ldd /usr/local/sbin/vsftpd
        libpam.so.0 => /lib/libpam.so.0 (0xb7f31000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7f2d000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7f15000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7f01000)
        libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb7efd000)
        libcap.so.2 => /lib/libcap.so.2 (0xb7ef7000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7db3000)
        /lib/ld-linux.so.2 (0xb7f45000)

可看到/lib/libpam.so.0 已经加载了。
接下面就FTP登录啦。 :mrgreen:

一、准备
用root登录以后,可添加一个常用帐号。

1
2
useradd admin
passwd admin

我下载的软件都放到 /home/soft , /home/soft/conf 用来存放配置文件

1
2
mkdir /home/soft/conf -p
cd /home/soft

卸载apache2

1
2
apt-get remove apache2
apt-get autoremove

安装一些必要软件和常用软件:
令我惊奇的是:默认的服务器上竟然连wget都没有。先安装它:

1
apt-get install wget

安装一些编译需要用到的软件

1
apt-get install gcc g++ autoconf libxml2 libxml2-dev bzip2 bzip2-devel krb5 krb5-devel  patch zip

对于有些软件可能需要autoconf2.13 ,要从svn编译软件,没有subversion 和 bison是不行的:

1
2
3
4
5
apt-get install subversion autoconf2.13
apt-get install bison
apt-get install zlib1g-dev
apt-get install libevent-1.4-2 libevent-core-1.4-2 libevent-dev libevent-extra-1.4-2
apt-get install curl libcurl3 libcurl3-dev

更新时区

1
cp  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

下载lnmp所需的软件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
wget http://nginx.org/download/nginx-0.8.36.tar.gz
wget http://cn.php.net/get/php-5.3.2.tar.bz2/from/us.php.net/mirror
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.46.tar.gz/from/http://mirror.services.wisc.edu/mysql/
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
wget http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz?use_mirror=nchc
wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2?use_mirror=nchc
wget http://pecl.php.net/get/memcache-2.2.5.tgz
wget http://downloads.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2?use_mirror=nchc
wget http://downloads.sourceforge.net/project/pcre/pcre/8.02/pcre-8.02.tar.bz2?use_mirror=nchc
wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
http://pecl.php.net/package/PDO_MYSQL
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
wget http://pecl.php.net/get/imagick-2.3.0.tgz

上传配置文件:
这里我用FTP 将配置文件上传到/var/www (现在WWW服务还没有启用,因此放这里是安全的).

二、安装php-5.3.2和 mysql-5.1.46
首先安装一些编译PHP需要的组件,否则编译PHP时会报错:
1,编译安装libiconv

1
2
3
4
5
6
7
tar xvzf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local
make
make install
make clean
ln -s  /usr/local/lib/libiconv.so.2 /usr/lib/

2,编译安装libmcrypt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd ..
tar xvjf libmcrypt-2.5.8.tar.bz2
cd libmcrypt-2.5.8
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
make clean

cd ../../

3、安装mhash

1
2
3
4
5
6
tar xvjf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9/
./configure
make
make install
cd ../
1
2
3
4
5
6
7
8
9
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

4、安装 mcrypt

1
2
3
4
5
6
7
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../

5、安装freetype

1
2
3
4
5
6
7
wget http://downloads.sourceforge.net/project/freetype/freetype2/2.3.12/freetype-2.3.12.tar.bz2?use_mirror=nchc
tar -xvjf freetype-2.3.12.tar.bz2
cd freetype-2.3.12
./configure
make
make install   
make clean

6、安装libpng

1
2
3
4
5
6
7
wget http://downloads.sourceforge.net/project/libpng/01-libpng-master/1.4.2/libpng-1.4.2.tar.gz?use_mirror=nchc
tar -xvzf libpng-1.4.2.tar.gz
cd libpng-1.4.2
./configure
make
make install
make clean

7、安装jpeg库

1
2
3
4
5
6
7
8
wget http://www.ijg.org/files/jpegsrc.v8a.tar.gz
tar -xvzf jpegsrc.v8a.tar.gz
cd jpeg-8a/
./configure --enable-static --enable-shared
make
make install
make install-lib
make clean

8、安装GD库

1
2
3
4
5
6
wget http://www.libgd.org/releases/gd-2.0.35.tar.bz2
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2
make
make install

2、编译安装mysql-5.1.46
先给mysql分配一个用户:

1
2
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
1
2
3
4
5
6
apt-get install libncurses5-dev
tar xvzf mysql-5.1.46.tar.gz
cd mysql-5.1.46/
./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make && make install
make clean
1
2
3
4
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/
cd ../

配置mysql:

1
2
3
mkdir /var/mysql/
cp /home/soft/conf/my.cnf /var/mysql/my.cnf
chown mysql:mysql /var/mysql/

生成数据库 启动服务进程 修改密码

1
2
3
/usr/local/webserver/mysql/bin/mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/var/mysql/data --user=mysql
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/var/mysql/my.cnf  &
/usr/local/webserver/mysql/bin/mysqladmin -uroot password "这里放密码" -p

复制mysql启动脚本:

1
2
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

也可以把mysql 添加为服务:

1
2
3
4
5
6
7
8
9
10
11
添加mysqld服务
chkconfig --add mysqld
   
设置mysqld在运行级35中启动
chkconfig --level 35 mysqld on
   
检查mysql的服务运行状态
chkconfig --list mysql

启动mysql
service mysqld start

进入mysql 查看状态(可以不做):

1
2
3
/usr/local/webserver/mysql/bin/mysql -uroot -p密码
status
exit

mysql root 密码不正确或者忘记了root密码怎么办?先kill 掉mysql 服务进程,再

1
2
3
4
5
6
 /usr/local/webserver/mysql/libexec/mysqld stop
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/var/mysql/my.cnf  --skip-grant-tables &
/usr/local/webserver/mysql/bin/mysql --user=root mysql
update user set Password=PASSWORD('新密码') where user='root';
flush privileges;
exit;

3、 编译安装PHP(FastCGI模式)

1
2
apt-get install libxml2-dev
apt-get install libsasl2-dev

libsasl2一定要安装,不然configure 时会出错:
configure: error: sasl.h not found!

1
2
3
4
5
6
ln -s /usr/local/include/freetype2 /usr/include/
ln -s /usr/local/lib/libfree* /usr/lib/

ln -s /usr/local/lib/libpng* /usr/lib/

ln -s /usr/local/lib/libjpeg* /usr/lib/

由于编译安装打了fpm补丁的PHP没有成功,我直接checkout SVN 编译安装了:

1
2
3
svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_3_FPM php_5_3_fpm
cd php_5_3_fpm
./buildconf --force
1
2
3
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local/lib --with-freetype-dir=/usr/local/lib  --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-zlib-dir=/usr/local/lib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd=/usr/local/gd2/ --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install

如果make ZEND_EXTRA_LIBS=’-liconv’出错,直接 make 行了。

1
2
cd ../
cp /var/www/php.ini /usr/local/webserver/php/etc/php.ini

4、编译安装PHP5扩展模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../

tar jxvf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6/
/usr/local/webserver/php/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../

tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/usr/local/webserver/mysql
make
make install
cd ../

tar zxvf ImageMagick.tar.gz
cd ImageMagick-6.6.1-8/
./configure
make
make install
cd ../

tar zxvf imagick-2.3.0.tgz
cd imagick-2.3.0/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install
cd ../

如果不需要,在php.ini中 注释下面信息

extension = “memcache.so”
extension = “pdo_mysql.so”
extension = “imagick.so”

把output_buffering = On
改output_buffering = Off

如果不需要eAccelerator加速PHP,可以删除掉[eaccelerator] 配置块。

5、 创建www用户和组,以及供blog使用的目录:

1
2
3
4
5
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
mkdir -p /var/www/blog
chmod +w /var/www/blog
chown -R www:www /var/www/blog

6、php-fpm配置文件

1
cp /var/www/php-fpm.conf /usr/local/webserver/php/etc/php-fpm.conf

7、启动php-cgi进程,监听 127.0.0.1的9000端口,进程数为64(根据内存情况来定),用户为www:

1
2
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm

三、安装Nginx 0.8.36
1、安装Nginx所需的pcre库:

1
2
3
4
5
tar xvjf pcre-8.02.tar.bz2
cd pcre-8.02/
./configure
make && make install
cd ../

2、安装Nginx

这里make nginx时会出错,说找不到 pcre ,原因是我是编译安装pcre的,做个链接:

1
ln -s /usr/local/lib/libpcre.so.0 /usr/lib/
1
2
3
4
5
tar zxvf nginx-0.8.36.tar.gz
cd nginx-0.8.36/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ../

3、 创建Nginx配置文件

1
cp /var/www/nginx.conf /usr/local/webserver/nginx/conf/nginx.conf

5、启动Nginx

1
2
ulimit -SHn 51200
/usr/local/webserver/nginx/sbin/nginx

我这里启动nginx时出现了一个错误:

[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: still could not bind()

这个错误说明主机名称已经被绑定了(已经被别的程序占用了) ,我估计是我在控制面板里设置的主机名与这个网站监听的主机名一样,可以查看下主机名,再对照下nginx配置文件里的站点使用的是不是与该名字相同:

1
cat /etc/hostname

然后修改下hostname就可以了。

四、 配置开机自动启动Nginx + PHP +Mysql
将以下命令加入 /etc/rc.local 的 exit 0 前面 :

1
2
3
4
5
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm -c /usr/local/webserver/php/etc -y /usr/local/webserver/php/etc/php-fpm.conf
/usr/local/webserver/nginx/sbin/nginx
/usr/local/webserver/mysql/bin/mysqld_safe --defaults-file=/var/mysql/my.cnf &
/usr/local/sbin/vsftpd &

检测 php-fpm 是否运行:

1
2
ps aux | grep "php-fpm"
netstat -anpo | grep "php-fpm" | wc -l

在不停止Nginx服务的情况下平滑变更Nginx配置
  1、修改/usr/local/webserver/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:

1
/usr/local/webserver/nginx/sbin/nginx -t

  如果屏幕显示以下两行信息,说明配置文件正确:
  the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
  the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully

  2、这时,输入以下命令查看Nginx主进程号:

1
ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

  屏幕显示的即为Nginx主进程号,例如:
  6302
  这时,执行以下命令即可使修改过的Nginx配置文件生效:

1
kill -HUP 6302

  或者无需这么麻烦,找到Nginx的Pid文件:

1
kill -HUP `cat /usr/local/webserver/nginx/nginx.pid`

编写每天定时切割Nginx日志的脚本
  1、创建脚本/usr/local/webserver/nginx/sbin/cut_nginx_log.sh

1
vim /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

  输入以下内容:

1
2
3
4
5
6
7
#!/bin/bash
# This script run at 00:00
# The Nginx logs path
logs_path="/usr/local/webserver/nginx/logs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`

  2、设置crontab,每天凌晨00:00切割nginx访问日志

1
crontab -e

  输入以下内容:

1
00 00 * * * /bin/bash  /usr/local/webserver/nginx/sbin/cut_nginx_log.sh

创建一个nginx启动脚本:
vim /etc/init.d/nginx 然后插入以下脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/sh
### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-De.ion: starts the nginx web server
# De.ion:       starts nginx using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/webserver/nginx/sbin
DAEMON=/usr/local/webserver/nginx/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
        . /etc/default/nginx
fi
set -e
case "$1" in
  start)
        echo -n "Starting $DESC: "
        start-stop-daemon --start --quiet --pidfile /usr/local/webserver/nginx/nginx.pid \
                --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /usr/local/webserver/nginx/nginx.pid \
                --exec $DAEMON
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile \
                /usr/local/webserver/nginx/nginx.pid --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet --pidfile \
                /usr/local/webserver/nginx/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/webserver/nginx/nginx.pid \
          --exec $DAEMON
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac
exit 0

如果有需要,你还可以添加脚本到系统默认运行级别:

1
/usr/sbin/update-rc.d -f nginx defaults

这样,就可以以下面的方式启动nginx了:

1
/etc/init.d/nginx start

VPS测试博客 : http://blog.ihacklog.com

此文基本参考张宴的: Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

喜欢这篇文章吗?

请订阅本站 RSS feed填写您的邮件地址,订阅我们的精彩内容:,欢迎点击这里捐赠以支持荒野无灯转播到腾讯微博 转播到腾讯微博

作者:荒野无灯
出处:Hacklog【Hacklog】

声明: 本站遵循 署名-非商业性使用-相同方式共享 3.0 共享协议. 转载请注明转自Hacklog【荒野无灯weblog】

本文链接: http://ihacklog.com/?p=3809

2 Responses Post a comment
  1. 五月 22, 2010

    真厲害啊~ 耐心夠, 很適合折騰.

  2. 五月 22, 2010

    哈哈,你还真折腾,一个一个去安装,我搞个LNMP包一次搞定 :wink:
    不过途中还是碰到了不少麻烦,自己动手一个一个装还是有好处的

Leave a Reply

Allowed Tags - You may use these HTML tags and attributes in your comment.

<a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <q cite=""> <strong>

 :wink:  :-|  :-x  :twisted:  :)  8-O  :(  :roll:  :-P  :oops:  :-o  :mrgreen:  :lol:  :idea:  :-D  :evil:  :cry:  8)  :arrow:  :-?  :?:  :!:

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS