您的位置:首页 > 运维架构 > Nginx

ubuntu 安装nginx+php+mysql lnmp的安装 (转载)

2014-09-18 13:32 786 查看
来自于:blog.163.com/bailin_li/blog/static/1744901792013101363410879/
-----------------------------------

安装nginx

sudo apt-get install nginx
Ubuntu安装之后的文件结构大致为:
所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下

程序文件在/usr/sbin/nginx

日志放在了/var/log/nginx中

并已经在/etc/init.d/下创建了启动脚本nginx

默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

[编辑] 启动nginx

sudo /etc/init.d/nginx start
然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。
启动时候若显示端口80被占用:
Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
修改文件:/etc/nginx/sites-available/default,去掉 listen 前面的 # 号 , # 号在该文件里是注释的意思 , 并且把 listen 后面的 80 端口号改为自己的端口,访问是需要添加端口号。
(安装完后如出现403错误,那可能是nginx配置文件里的网站路径不正确)






nginx默认页面

[编辑] 配置php和mysql

[编辑] 安装Php和mysql

安装php和MySQL:

sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql php5-gd

[编辑] 安装FastCgi

/usr/bin/spawn-fcgi这个文件来管理 FastCgi,它原属于lighttpd这个包里面,但 9.10 后,spawn-fcgi 被分离出来单独成包:
sudo apt-get install spawn-fcgi

[编辑] 配置 nginx

修改nginx的配置文件:/etc/nginx/sites-available/default
修改主机名:
server_name localhost;
修改index的一行修改为:
index index.php index.html index.htm;
去掉下面部分的注释用于支持 php 脚本:
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
重新启动nginx:
/etc/init.d/nginx stop
/etc/init.d/nginx start
启动fastcgi php:
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
为了让php-cgi开机自启动:
Ubuntu开机之后会执行/etc/rc.local文件中的脚本
所以我们可以直接在/etc/rc.local中添加启动脚本。spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi添加到语句:exit 0 前面才行
创建、测试phpinfo:
sudo vi /var/www/nginx-default/info.php
<?php phpinfo(); ?>
打开 http://localhost/info.php






Nginx phpinfo页面

====================================

关闭php-cgi

sudo killall -HUP php-cgi

重启php-cgi

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u www-data -f /usr/bin/php-cgi
启用停用mysql
sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop

或者使用
service mysql start
service mysql stop
我的mysql版本mysql Ver 14.14 Distrib 5.5.35, for
debian-linux-gnu (x86_64) using readline 6.2

源文地址:http://wiki.ubuntu.org.cn/Nginx

====================

解决NGINX PHP "No input file specified"

1. 更改php.ini

首先php.ini的配置中把
;cgi.fix_pathinfo=0 改为

cgi.fix_pathinfo=1

2.
在nginx/conf/nginx.conf 找到:
fastcgi_param SCRIPT_FILENAME
/scripts$fastcgi_script_name; 改为:
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;

然后重启nginx【killall -9 nginx
,./sbin/nginx】

结果搞定。:-)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux lnmp