序:记得第一次用搬瓦工上的VPS搭建Lnmp环境时着实蛋疼,mysql死都装不好,折腾了一天才发现是ubuntu minimal14.04的源太老,无法解决依赖问题导致的,果然安装完ubuntu第一件事情一定是update upgrade啊!之前我看过兄弟连的《细说PHP》,习惯了使用LAMP环境,LAMP的搭建和配置相对傻瓜化,这是因为apache本身要强大多,但据说大神,还有百度这样的大公司都用上了Nginx,我也忍不住想装这个b,百度了一下nginx和apache的优势,大概是这个样子滴,大伙可以看一看:
nginx相对于apache的优点:
轻量级,同样起web 服务,比apache 占用更少的内存及资源
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能
高度模块化的设计,编写模块相对简单
社区活跃,各种高性能模块出品迅速啊
apache 相对于nginx 的优点:
rewrite ,比nginx 的rewrite 强大
模块超多,基本想到的都可以找到
少bug ,nginx 的bug 相对较多
超稳定
说了这么多,要开始配置LNMP了,在ubuntu中,不必采用源码编译,而是采用ubuntu自带的包管理器apt-get:
在这之前先确保获得root权限,并执行一下:apt-get update ; apt-get upgrade;
第一步:安装必备软件,mysql nginx php5,
在安装nginx之前需要先检查apache是否已经存在
删除apache
service apache2 stop
update-rc.d -f apache2 remove
apt-get --purge remove apache-commom
apt-get --purge remove apache
apt-get install nginx //安装nginx
测试:打开浏览器,输入网站IP或者域名(本地输入localhost),显示“welcome to nginx”页面说明web服务器安装完成而且启动了
//安装mysql数据库,注意本座第一次没有upgrade,所以apt-get反复提示mysql-server-4.5依赖缺失!
apt-get install mysql-server mysql-client
安装mysql的过程中会两次提示输入密码,可以输入,如果直接Enter默认空密码
测试:打开终端,输入mysql -uroot -p;有根据提示输入密码
apt-get install php5-fpm php5-mysql //安装php5以及mysql扩展
第二步:配置nginx服务器
vi /etc/nginx/nginx.conf //编辑nginx配置
找到这两个参数,修改成以下
worker_processes 4;
keepalive_timeout 2;
vi /etc/nginx/sites-available/default //编辑站点默认配置文件
提示:在这个配置文件中,找到root和index,并设置他们:
index——站点默认主页,index.php index.html index.htm这些
server_name——站点访问名称,我设置为了博客地址+localhots
root——站点根目录,按照本座用apache的习惯设置为/var/www
最后结果:(我有两个域名指向同一个地址,所以写了两个)
root /var/www; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html index.php; server_name localhost www.gxy.gift www.devil.ren; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { include snippets/fastcgi-php.conf; # With php5-cgi alone: #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; include fastcgi_params; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; }
注意倒数第三行需要使用php5-fpm的sock,这样才能解释php语言,之前我们安装了php5-fpm了
sudo service nginx reload //更新配置nginx
最后一步
cd /var/www
vim ./index.php