飞飞实验室:Ubuntu 9.04 Server 搭建Nginx+PHP5+MySQL完美Web服务器
2009-09-10 16:04
573 查看
转载请注明出处:http://club.topsage.com/thread-355620-1-1.html
文中附有图片附件,请注意登录论坛后查看。
Nginx (发音:"engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
本文将和大家一起在Ubuntu 9.04 Server上快速搭建支持Nginx、PHP 5、MySQL的最佳Web服务器。文中使用的一些基础配置信息如下:
hostname:server1.example.com
IP地址:192.168.0.100
实际应用中,改为自己的相应配置即可。
另外,文本使用的多数命令均需要root权限,所以,开始之前最好用 sudo su 命令进入root权限。否则,每个命令前要用sudo。
1. 安装MySQL 5.0
Ubuntu/Debain中安装MySQL是比较方便的,只需要下面的一条命令就OK了,
复制内容到剪贴板
代码:
引用:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword 2. 安装Nginx
Nginx软件包在Ubuntu 9.04 软件包源中是有的,使用下面的命令安装它,
复制内容到剪贴板
代码:
复制内容到剪贴板
代码:
3. 安装PHP5
为了获得更好的性能,这里安装PHP5使用FastCGI模式,Ubuntu 9.04提供了FastCGI-enabled PHP5软件包,这样,所有安装都变得相当快捷。下面的命令安装了一组PHP5及PHP5相关模块的软件包,其中包括了FastCGI、php5-mysql、imagick、pear、加密相关模块等:
复制内容到剪贴板
代码:
vi /etc/php5/cgi/php.ini
复制内容到剪贴板
代码:
首先,安装lighttpd服务器,
复制内容到剪贴板
代码:
引用:
Starting web server: lighttpd 2009-04-30 15:51:50: (network.c.300) can't bind to port: 80 Address already in use failed!这是因为nginx启动后占用了80端口,不用管它,因为本来就不打算启动lighttpd的,下面把lighttpd从开机启动列表中删除:
复制内容到剪贴板
代码:
下面的命令将启动一个监听9000端口、启动用户和组为www-data的PHP FastCGI守护进程:
复制内容到剪贴板
代码:
vi /etc/rc.local
复制内容到剪贴板
代码:
nginx服务器的配置文件位于 /etc/nginx/nginx.conf,使用编辑器打开它
复制内容到剪贴板
代码:
http://wiki.codemongers.com/NginxFullExample http://wiki.codemongers.com/NginxFullExample2
首先,修改下面两个参数,
复制内容到剪贴板
代码:
复制内容到剪贴板
代码:
复制内容到剪贴板
代码:
vi /var/www/nginx-default/info.php
复制内容到剪贴板
代码:
文中附有图片附件,请注意登录论坛后查看。
Nginx (发音:"engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
本文将和大家一起在Ubuntu 9.04 Server上快速搭建支持Nginx、PHP 5、MySQL的最佳Web服务器。文中使用的一些基础配置信息如下:
hostname:server1.example.com
IP地址:192.168.0.100
实际应用中,改为自己的相应配置即可。
另外,文本使用的多数命令均需要root权限,所以,开始之前最好用 sudo su 命令进入root权限。否则,每个命令前要用sudo。
1. 安装MySQL 5.0
Ubuntu/Debain中安装MySQL是比较方便的,只需要下面的一条命令就OK了,
复制内容到剪贴板
代码:
aptitude install mysql-server mysql-client安装过程中,要输入MySQL的root用户密码,
引用:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword 2. 安装Nginx
Nginx软件包在Ubuntu 9.04 软件包源中是有的,使用下面的命令安装它,
复制内容到剪贴板
代码:
aptitude install nginx使用Ubuntu软件包安装的Nginx默认已经加了管理脚本了,直接用下面的命令启动之,
复制内容到剪贴板
代码:
/etc/init.d/nginx start启动后,就可以在浏览器中测试一下nginx是否安装成功,本文中使用 http://192.168.0.100 这个地址,浏览器中可以看到如下的欢迎界面:
3. 安装PHP5
为了获得更好的性能,这里安装PHP5使用FastCGI模式,Ubuntu 9.04提供了FastCGI-enabled PHP5软件包,这样,所有安装都变得相当快捷。下面的命令安装了一组PHP5及PHP5相关模块的软件包,其中包括了FastCGI、php5-mysql、imagick、pear、加密相关模块等:
复制内容到剪贴板
代码:
aptitude install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl安装完毕,打开 /etc/php5/cgi/php.ini 文件,在文件末尾加入 cgi.fix_pathinfo = 1 :
vi /etc/php5/cgi/php.ini
复制内容到剪贴板
代码:
... cgi.fix_pathinfo = 1需要注意的一点,Ubuntu 9.04 中并没有FastCGI守护进程的软件包,这里,我们借用 lighttpd 的spawn-fcgi程序。
首先,安装lighttpd服务器,
复制内容到剪贴板
代码:
aptitude install lighttpd安装时会出现下面的错误信息:
引用:
Starting web server: lighttpd 2009-04-30 15:51:50: (network.c.300) can't bind to port: 80 Address already in use failed!这是因为nginx启动后占用了80端口,不用管它,因为本来就不打算启动lighttpd的,下面把lighttpd从开机启动列表中删除:
复制内容到剪贴板
代码:
update-rc.d -f lighttpd remove之所以安装lighttpd,是因为我们需要其带的spawn-fcgi这个程序,这一点要清楚。可以使用 spawn-fcgi --help 查看更详细的信息。
下面的命令将启动一个监听9000端口、启动用户和组为www-data的PHP FastCGI守护进程:
复制内容到剪贴板
代码:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid当然,我们不可能每次启动都要输入那么长的命令,正确的做法是把该命令加入 /etc/rc.local 脚本中
vi /etc/rc.local
复制内容到剪贴板
代码:
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid4. 配置 nginx
nginx服务器的配置文件位于 /etc/nginx/nginx.conf,使用编辑器打开它
复制内容到剪贴板
代码:
vi /etc/nginx/nginx.confnginx的配置比较简单,而且易于理解,可以参考下面两个链接加以配置:
http://wiki.codemongers.com/NginxFullExample http://wiki.codemongers.com/NginxFullExample2
首先,修改下面两个参数,
复制内容到剪贴板
代码:
... worker_processes 5; keepalive_timeout 2; ...默认的vhost配置文件位于 /etc/nginx/sites-available/default ,修改 /etc/nginx/sites-available/default:
复制内容到剪贴板
代码:
server { listen 80; server_name _; access_log /var/log/nginx/localhost.access.log; location / { root /var/www/nginx-default; index index.php index.html index.htm; } location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex on; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { #proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } }保存并退出后,重启nginx:
复制内容到剪贴板
代码:
/etc/init.d/nginx restart在文档根目录(document root)中新建一个测试PHP文件:
vi /var/www/nginx-default/info.php
复制内容到剪贴板
代码:
<?php phpinfo(); ?>在浏览器中使用 http://192.168.0.100/info.php 地址测试,这里列出了所有PHP及web服务器的相关信息。确保PHP5、FastCGI、MySQL等都正常工作:
相关文章推荐
- Ubuntu 9.04 Server 搭建Lighttpd+PHP5+MySQL完美Web服务器
- Ubuntu 9.04 Server 搭建Nginx+PHP5+MySQL完美Web服务器
- Ubuntu 9.04 Server搭建Cherokee+PHP5+MySQL完美Web服务器
- Ubuntu Server 14.04 安装+安全Web服务器(linux+apache+mysql+php)搭建流程(更新)
- Ubuntu 9.04快速搭建Apache2(httpd)+PHP5+MySQL完美LAMP服务器
- Ubuntu server搭建Java web服务器
- [ZZ][Linux App]Ubuntu 9.04快速搭建Apache2(httpd)+PHP5+MySQL完美LAMP服务器
- Ubuntu Server安全Web服务器搭建流程
- UbuntuServer搭建Git服务器之gitdeamon和gitweb(四)
- Ubuntu下搭建web服务器
- Ubuntu的web服务器搭建系列之Redis(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- ubuntu server 安装 web服务器
- ubuntu搭建subversion服务器, build svn server in ubuntu
- python SimpleHTTPServer 快速搭建Web服务器
- Ubuntu下 利用httpd和OpenSSL搭建HTTPS web服务器
- windows 2008 server web服务器的搭建以及站点的简单部署
- Ubuntu Nginx搭建Gitweb服务器
- Ubuntu下Web服务器的搭建
- server2016下搭建web服务器&三种虚拟主机实验文档
- Ubuntu 10.04 下的tftp服务器搭建。(完美解决本机测试tftp localhost出现:tansfer:timed out)见文章末尾注意点