在Debian Etch上安装带有PHP5和MySQL的Nginx
版本1.0
作者:Falko Timme
Nginx (发音为“引擎x”)是一个免费的,开放源码的高性能HTTP服务器。 Nginx以其稳定性,丰富的功能集,简单的配置和低资源消耗而闻名。 本教程将介绍如何通过PHP5支持(通过FastCGI)和MySQL支持在Debian Etch服务器上安装Nginx。
我不会保证这将为您工作!
1初步说明
在本教程中,我使用IP地址为192.168.0.100
的hostname server1.example.com
。 这些设置可能会有所不同,因此您必须在适当的情况下更换它们。
我从三个不同的来源编译了本指南,并填写了我自己的一些细节:
- Debian Etch -通过Slicehost 安装nginx
- Debian Etch -通过Slicehost 添加一个nginx init脚本
- 来自Kurt Zankl的外部FASTCGI模式(守护进程模式)中的php-cgi的Init脚本
2安装MySQL 5.0
首先我们像这样安装MySQL 5.0:
apt-get install mysql-server mysql-client
为MySQL用户root
创建密码(将yourrootsql
密码替换为您要使用的密码):
mysqladmin -u root password yourrootsqlpassword
然后检查
netstat -tap | grep mysql
MySQL正在监听哪个地址。 如果输出如下所示:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
这意味着MySQL只监听localhost.localdomain
,那么你以前设置的密码是安全的。 但如果输出如下所示:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
您也应该为您的主机名设置一个MySQL密码,因为否则任何人都可以访问您的数据库并修改数据:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
3安装Nginx
Nginx可用作Debian Etch的一个软件包,但它是古老的(0.4.13版本),而最新的稳定版本是0.6.34。 因此我从源头构建nginx。
首先我们安装一些先决条件:
apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential
然后我们下载nginx并解压缩(您可以在http://nginx.net/上找到最新的稳定版本):
cd /tmp
wget http://sysoev.ru/nginx/nginx-0.6.34.tar.gz
tar xvfz nginx-0.6.34.tar.gz
cd nginx-0.6.34
你可以跑
./configure --help
了解所有配置选项。
我使用以下配置语句...
./configure --sbin-path=/usr/local/sbin --with-http_ssl_module
...运行
make
make install
之后完成安装。
这将创建包含配置文件,日志和默认网站( / usr / local / nginx / html
)中的目录/ usr / local / nginx
。
接下来,我们创建了nginx init脚本:
vi /etc/init.d/nginx
#! /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-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/local/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/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/nginx.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/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 |
使文件可执行并启动nginx:
chmod 755 /etc/init.d/nginx
/etc/init.d/nginx start
在浏览器中输入您的Web服务器的IP地址或主机名(例如http://192.168.0.100
),您应该看到nginx的欢迎页面:
要使nginx在启动时启动,请运行
update-rc.d nginx defaults