ubuntu下配置nginx+php+mysql详解

1、更新

www.jb51.net

代码如下:

sudo apt-get update

2、安装nginx

代码如下:

sudo apt-get intsall nginx

Ubuntu安装之后的文件结构大致为:

* 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下  www.jb51.net

*程序文件在/usr/sbin/nginx * 日志放在了/var/log/nginx中

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

* 默认的虚拟主机的目录设置在了/var/www/nginx-default

下面可以启动nginx来看看效果(请确保80端口没有其他服务在使用):

代码如下:

sudo /etc/init.d/nginx start

#或者简单的

代码如下:

service nginx start

然后打开浏览器,查看http://localhost/ 看看是否看到了”Welcome to nginx!” 如果看到了,说明安装成功.

当然,基本上,这块儿都不会出问题. 如果运行不成功,可以先

代码如下:

sudo killall apache2

杀掉apache进程

3、安装php

代码如下:

sudo apt-get install php5 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-tidy php5-xmlrpc php5-sqlite php5-xsl

4、安装spawn-fcgi

为什么要安装spawn-fcgi呢,它用来控制php-cgi进程,以防止进程崩溃或是单进程的效率太低.

网上很多人都说要使用spawn-fcgi必须得安装lighttpd,实际上不必要,可以直接安装spawn-fcgi

运行:

代码如下:

sudo apt-get install spawn-fcgi

5、配置

接下来就是最让人头疼的配置.

配置Nginx和spawn-fcgi配合运行

(1).在/etc/nginx/fastcgi_params 文件最后,加入一行,可以用

sudo vi /etc/nginx/fastcgi_params 

加入此行:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

(2).另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位于/etc/php5/cgi/php.ini)中,找到cgi.fix_pathinfo选项,修改为:

cgi.fix_pathinfo=1;

这样php-cgi方能正常使用SCRIPT_FILENAME这个变量.

(3).打开/etc/nginx/sites-available/default文件在

server {
listen 80;
server_name localhost;

下面添加web根目录的绝对地址,这里是使用的是nginx的默认地址

root /var/www/nginx-default

即root和server_name同级这段即相当于apache的默认目录

如果没有这个的话,容易在执行php 文件的时候,会提示”No input file specified”.

我就曾在此绕了好大个圈子才发现问题.然后修改

#location ~ .php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#includefastcgi_params;
#}

修改成 

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 /etc/nginx/fastcgi_params; #包含fastcgi的参数文件地址

6、开始fast_cgi进程

sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

7、设置开机启动fastcgi进程并启动

sudo vi /etc/rc.local

添加下一行

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

如果打开php文件出现:No input file specified请检查php.ini的配置中

cgi.fix_pathinfo=1

doc_root=

还有,每个虚机要根据自己不同的虚机设置不同的目录,要保证这个路径正确.

检查/etc/nginx/sites-available下的配置文件中,server内包含 root 及地址 而非location内的root

启动

fast-cgisudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

参数含义如下

* -f 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
* -a 绑定到地址addr
* -p 绑定到端口port
* -s 绑定到unix socket的路径path
* -C 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
* -P指定产生的进程的PID文件路径
* -u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等现在可以在web根目录下放个探针或php文件测试一下了

8、安装mysql

sudo apt-get install mysql-server mysql-client

中间会提示输入Root用户密码,依次输入即可.

启动MySQL

sudo /etc/init.d/mysql start

测试mysql服务是否正常:

运行

mysql -uroot -p

输入mysql密码

show databases;

如果看到下面的内容

| Database |
| information_schema |
| mysql |

则mysql已正确安装了.

至此,ubuntu下的nginx+php+mysql就安装完成了.

(0)

相关推荐

  • Ubuntu中搭建Nginx、PHP环境最简单的方法

    前言:百度出来的结果好坑爹,而且某些文章说别人坑爹,可他自己也坑爹.求业界良心啊.还是谷歌靠谱. 系统环境:Ubuntu 13 和 Linux Mint 15都通过. 默认安装的是nginx 1.2.5,php5.4.9 先安装: 复制代码 代码如下: sudo apt-get install nginx php5-fpm 我是在新安装的Ubuntu13上测试通过的,真的只安装这两个东西就够了. 然后编辑配置文件. 复制代码 代码如下: sudo gedit /etc/nginx/site-av

  • 在Ubuntu系统上安装Nginx服务器的简单方法

    安装 Nginx sudo apt-get install nginx 如果你安装了 Apache ,并且此时 Apache 在运行,那么请先修改一下配置文件(没有的同学直接跳过): #打开配置文件 sudo vim /etc/nginx/sites-available/default 然后按以下两处修改(为了不和 Apache 冲突): server { #修改这里 我将 80 改为 88 listen 88 default_server; #还有这里 同样改为你想要的监听端口 listen

  • ubuntu 下的nginx服务器配置详解

    ubuntu 下的nginx服务器配置详解 1.nginx服务器的安装 sudo apt-get install nginx 2.nginx服务器的启动 sudo /etc/init.d/nginx start 3.多域名对应不同的后台服务器 在/etc/nginx/sites-enabled/ 目录中删除default配置文件 新建域名对应的配置文件 比如test.youlunshidai.com #通过upstream nodejs__upstream 可以配置多台nodejs节点,做负载均

  • Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式

    概述 在上一篇文章Nginx配置Thinkphp支持URL Rewrite中已经介绍了如何配置Nginx支持ThinkPHP的URL Rewrite,但是上文针对的是Centos平台,这次因为某些特殊的原因,服务器环境必须用ubuntu,本来以为和Cetons中一模一样,但是配置完了发现不能使用,所以就百度了一些文章. 配置方法 TP官方解决方案 复制代码 代码如下: location ~ .php         {                 #原有代码                

  • ubuntu系统中nginx启动脚本

    复制代码 代码如下: #! /bin/sh### BEGIN INIT INFO# Provides:          nginx# Required-Start:    $remote_fs $syslog# Required-Stop:     $remote_fs $syslog# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: nginx init.d dash script for Ub

  • Ubuntu上安装Nginx服务器程序及简单的环境配置小结

    Ubuntu 从官方源安装 Nginx cd ~ wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key sudo nano /etc/apt/sources.list # 添加以下两句 deb http://nginx.org/packages/ubuntu/ precise nginx deb-src http://nginx.org/packages/ubuntu/ precise ng

  • ubuntu下搭建php开发环境(nginx+(cgi)php5fpm+memcached+xdebug)

    由于只是开发环境,所以都是选择比较简单的apt-get安装方式 ,但中间也遇到一点问题. 首先安装nginx nginx的安装和配置其实很简单,nginx本身非常轻量级, 直接 sudo apt-get install nginx 就可以了 他的配置文件是在/etc/nginx/里面,网站项目路径是在/var/www里面,安装之后一定要确保nginx的启动账户有对网站目录的访问权限,否则会报错. 第二步,安装cgi linux底下的cgi程序非常多,在这里我选择的是php5-fpm 方便  在这

  • Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程

    具体环境: Ubuntu 14.04 Python 2.7.6 Django 1.7.1 Virtualenv name:test Nginx uwsgi 假设 项目文件夹位于 /data/www/ts 设置保存在 ./conf 复制代码 代码如下: virtualenv name = test domain name = example.com django+uwsgi的部署实在是太蛋疼了..网上已有的教程似乎有新版本的兼容问题.最后跑到uwsgi官网上找的教程终于跑通了.. 不过官网的教程似

  • ubuntu下配置nginx+php+mysql详解

    1.更新 www.jb51.net 复制代码 代码如下: sudo apt-get update 2.安装nginx 复制代码 代码如下: sudo apt-get intsall nginx Ubuntu安装之后的文件结构大致为: * 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下  www.jb51.net *程序文件在/usr/sbin/nginx * 日志放在了/var/log/nginx中 *并已经在/etc

  • Mac环境下配置tomcat的步骤详解

    前言 相信对Java Web稍微知道一点,一般对Tomcat都不会陌生,Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源.Tomcat无法取访问Appache资源).Appache只支持静态网页,但像asp,php,cgi,jsp等动态就需要Tomcat来处理.下面我们就来看看详细的步骤. 一. 下载 登录Apache Tomcat官网,地址 http://t

  • linux下配置yum源方法详解

    本人使用的方法一,成功配置,方法二没测过,可以作为参考 方法一: 1.确保RHEL5中已经安装了yum [root@lvs-master ~]# rpm -qa |grep yum yum-metadata-parser-2-el5 yum-updatesd-9-el5 yum-22-el5 yum-security-16-el5 yum-rhn-plugin-4-el5 2.修改源配置文件 #vim /etc/yum.repos.d/CentOS-Base.repo (如果目录下没有.repo

  • ubuntu下apt-get安装和彻底卸载mysql详解

    1.安装mysql: udo apt-get install mysql-server udo apt-get install mysql-client udo apt-get install php5-mysql(用于连接php和mysql) 查看mysql是否运行 aux | grep mysql 启动命令 /etc/init.d/mysql start 2.删除mysql 按顺序执行以下命令 udo apt-get autoremove --purge mysql-server-5.0 u

  • Ubuntu下安装配置Docker的教程详解

    获取Docker 1.准备 Docker要求64位Linux且内核版本在3.10以上,在终端里输入uname -r查看,如图: 接下来更新源并查看是否有https方法: sudo apt-get update sudo apt-get install apt-transport-https ca-certificates 2.添加key 输入以下命令添加GPG key: sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net

  • 详解Ubuntu18.04下配置Nginx+RTMP+HLS+HTTPFLV服务器实现点播/直播/录制功能

    2019.9.4更新 继续玩又发现个好玩的东西,nginx-http-flv-module模块,集成了之前的RTMP模块,又有httpflv模块,还是咱们国内程序员大神开发维护,真是开心,国内的大神如此出色,为他们这些愿意分享技术的人点32个赞,具体的编译和安装方式与RTMP模块基本一样,配置readme中也说得很详细,就不赘述了,需要注意的一点是,httpflv方式客户端想看也是需要服务设置cors的,这点readme中没有提到好像. 2019.6.27更新 再更新个windows版本的搭建方

  • 详解Ubuntu下配置samba实现文件夹共享

    Ubuntu下配置samba实现文件夹共享 一. samba的安装: sudo apt-get insall samba sudo apt-get install smbfs 二. 创建共享目录: mkdir /home/phinecos/share sodu chmod 777 /home/phinecos/share 三. 创建Samba配置文件: 1. 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 2. 修改现配

  • LINUX中NGINX反向代理下的TOMCAT集群(详解)

    Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点. 这次Nginx安装在 192.168.1.108 这台linux 机器上.安装Nginx 先要装openssl库,gcc,PCRE,zlib库等. Tomcat 安装在192.168.1.168 和 192.168.1.178 这两台机器上.客户端通过访问192.168.1.108 反向代理访问到 192.168.1.168 和 192.168.1.178 里Tomcat 部署的工程内容. 1.Linux 下安装Nginx (机器

  • Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先的一些模块依赖一些lib库, 如果你是懒人,就顺着下面的命令分别输入就行了.然后直接看配置篇.(不过这样安装的可不是最新版本的哟) ----------------安装Nginx+PHP+MySql ---------------------- 1.1 安装或更新gcc gcc-c++ 因为我安装的

随机推荐