ubuntu下nginx+php5环境的部署和centos系统下的部署稍有不同,废话不多说,以下为操作记录:
1)nginx安装
root@ubuntutest01-KVM:~# sudo apt-get update && sudo apt-get upgrade
root@ubuntutest01-KVM:~# sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential openssl libssl0.9.8 libssl-dev
root@ubuntutest01-KVM:~# wget http://nginx.org/download/nginx-1.8.0.tar.gz
root@ubuntutest01-KVM:~# tar -zxvf nginx-1.8.0.tar.gz
root@ubuntutest01-KVM:~# cd nginx-1.8.0
root@ubuntutest01-KVM:~# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
root@ubuntutest01-KVM:~# make && make install

2)php5的安装
add-apt-repository 命令是 apt 源的添加,ppa 就是软件对应的源,在官网上可以找到
root@ubuntutest01-KVM:~# sudo add-apt-repository ppa:ondrej/php5-5.6

如果上面命令执行后报错和没有发现命令则执行
root@ubuntutest01-KVM:~# sudo apt-get install Python-software-properties
root@ubuntutest01-KVM:~# sudo apt-get update
root@ubuntutest01-KVM:~# sudo apt-get install php
root@ubuntutest01-KVM:~# php5 -v

安装好php后,在nginx里添加对接php的配置后,访问.php文件会报错502!
这是因为nginx中访问.php文件的请求都交给php-fpm程序处理的,php-fpm监听9000端口
所以还有启动php-fpm程序。

安装php-fpm
root@ubuntutest01-KVM:~# apt-get install php5-fpm php5-gd php5-cli php5-curl php5-mcrypt php5-mysql php5-readline

启动php-fpm
root@ubuntutest01-KVM:~# service php5-fpm start
root@ubuntutest01-KVM:~# ps -ef|grep php5-fpm
root@ubuntutest01-KVM:~# lsof -i:9000

但是发现php5-fpm启动后,9000端口却没有起来!这是为什么?
这是因为php-fpm有两种监听方式:一种是.sock文件方式,另一种是9000端口方式
修改办法:
root@ubuntutest01-KVM:~# vim /etc/php5/fpm/pool.d/www.conf
.....
;listen = /var/run/php5-fpm.sock               //注释这行,这是默认的监听方式
listen = 9000                                            //改为监听9000端口方式

重启php-fpm
root@ubuntutest01-KVM:~# service php5-fpm restart
root@ubuntutest01-KVM:~# lsof -i:9000        //发现9000端口已经起来了

3)nginx+php配置
root@ubuntutest01-KVM:~# vim /usr/local/nginx/conf/nginx.conf       //将nginx启动用户改成www-data,确保这个用户存在,不存在就手动创建,保证nginx和php启动用户一致

user  www-data;
worker_processes  8;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;pid        logs/nginx.pid;events {worker_connections  65535;
}http {include       mime.types;default_type  application/octet-stream;charset utf-8;log_format  main  '$http_x_forwarded_for $remote_addr $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_cookie" $host $request_time';sendfile       on;tcp_nopush     on;tcp_nodelay    on;keepalive_timeout  65;fastcgi_connect_timeout 3000;fastcgi_send_timeout 3000;fastcgi_read_timeout 3000;fastcgi_buffer_size 256k;fastcgi_buffers 8 256k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;fastcgi_intercept_errors on;client_header_timeout 600s;client_body_timeout 600s;client_max_body_size 100m;            client_body_buffer_size 256k;          gzip  on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_http_version 1.1;gzip_comp_level 9;gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php;gzip_vary on;include vhosts/*.conf;
}

root@ubuntutest01-KVM:~# vim /usr/local/nginx/conf/vhosts/vote.com.conf

server {listen 8080;server_name www.wangshibo.com;access_log  /usr/local/nginx/logs/access.log main;error_log  /usr/local/nginx/logs/error.log;location / {root /home/www/vote;try_files $uri $uri/ @router;index index.html index.php index.htm;}location /nginx_status {stub_status on;access_log off;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location @router {rewrite ^.*$ /index.php last;}location ~ \.php$ {root          /home/www/vote;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;         //这一行和下面一行要加上,不然访问php文件可能出现空白!fastcgi_param  PATH_INFO  $fastcgi_script_name;include        fastcgi_params;}location ~ ^/(status|ping)$ {include fastcgi_params;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;}
}

测试文件(html文件和php文件)
root@ubuntutest01-KVM:~# vim /home/www/vote/test.html
sdfsadf
12313123
root@ubuntutest01-KVM:~# vim /home/www/vote/test.php

<?php              //这一行不能空格,否则访问会有问题
phpinfo();
?>

修改php-fpm文件(确保/etc/php5/fpm/php-fpm.conf文件中打开了include=/etc/php5/fpm/pool.d/*.conf)
root@ubuntutest01-KVM:~# vim /etc/php5/fpm/pool.d/www.conf
....
user = www-data
group = www-data
....
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

重启nginx和php-rpm
root@ubuntutest01-KVM:~# /usr/local/nginx/sbin/nginx -s reload
root@ubuntutest01-KVM:~# /etc/init.d/php5-fpm restart

最后,验证访问是否正常:

ubuntu下nginx+php5的部署相关推荐

  1. linux下nginx+python+fastcgi部署总结(web.py版)

    2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+djang ...

  2. ubuntu下nginx配置

    ubuntu下nginx配置 文章目录 ubuntu下nginx配置 初步分析 查看nginx.service 找到服务文件 查看服务文件 查看配置文件的加载路径 配置文件分析 全局指令块 http指 ...

  3. centos7 nginx php5.4,详解CentOS7.0下Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署

    详解Nginx+PHP5.4+MySQL5.5+Memcached+Redis的架构部署需要安装Nginx.PHP.mysql.memcached.redis! 一.硬件: 1.服务器型号:HP DL ...

  4. Ubuntu下certbot申请和部署证书

    前面总结的获取证书方式里,使用的是先手动生成CSR文件和密钥对,然后再根据CSR文件生成自签名证书,最后进行CRL和OCSP校验.接下来就把自己在Ubuntu下用certbot申请和部署Let's E ...

  5. Ubuntu下的Nginx-Uwsgi-Django项目部署详细流程

    Ubuntu下的Nginx+Uwsgi+Django项目部署详细流程 版本 Ubuntu 18.04 Python 3.6 Django 3.2 Nginx 1.14.0 Python 虚拟环境 vi ...

  6. windows下nginx+mono+fastCGI部署asp.net网站

    1,什么是nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx ...

  7. Ubuntu下Nginx安装与配置---kalrry

    Ubuntu安装nginx反向代理服务器--kalrry 前言 一.购买服务器并安装ubuntu系统 1. 购买云主机 2. 安装ubuntu操作系统 二.开放Linux的ssh访问权限,用于远程连接 ...

  8. Ubuntu下Nginx/PHP/MYSQL开发环境的配置方法

    最近将原来的程序都迁移到了Nginx下来了,用了Ubuntu也有一段时间大了,慢慢了习惯了下Linux的操作,在加上Linux下性能确实不错,就开始配置了. 配置了 Ubuntu 9.10  Ngin ...

  9. yii2环境搭建(ubuntu下nginx+php+mysql+yii2)

    2019独角兽企业重金招聘Python工程师标准>>> 系统版本:ubuntu版本14.04 x86_64 nginx版本:1.4.6 (默认命令安装版本) PHP版本:php-5. ...

最新文章

  1. js中的toString方法
  2. 泊松回归、gamma回归、Tweedie回归等广义线性回归模型GLM的评估指标:校准曲线、 洛伦兹曲线、卡方检验、AIC、BIC、偏差(Deviance)指标
  3. 不一样的随机数生成方法(C/C++)
  4. linux系统vsftpd登陆慢卡怎么办
  5. 17、Java Swing Timer:计时器组件
  6. php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
  7. 2.2物理层传输介质
  8. 最后一周 | 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
  9. 基于asp.net的网上书店商城设计与实现
  10. javaScript通用数据类型校验2
  11. mac搭建apace和php开发环境
  12. 小程序入门学习03--navigator组件
  13. BZOJ3626 神思路的树链剖分+线段树维护
  14. android sqlite配置,60. (android开发)SQLite作为APP应用的配置打包
  15. Linux下的shell编程(二)BY 四喜三顺
  16. C#做小工具的时候碰到的问题
  17. 割平面法 matlab,割平面法matlab
  18. Python编辑和保存Word(docx)
  19. 一些好用的免费的截屏、GIF制作的PC端小工具
  20. 输入一个仅含十二进制数的字符串输出二进制

热门文章

  1. 再也不买仙剑正版盘了
  2. Apache的服务端包含--SSI
  3. C语言的32个关键字
  4. C#中TextBox只能输入数字的代码
  5. Linux系统的大小端模式
  6. 只要可能,就缓存数据和页输出
  7. 线上java问题排查
  8. 使用cat /proc/进程id/maps 查看进程内存映射
  9. 一种清除windows通知区域“僵尸”图标的方案——问题分析
  10. 海思3559A上编译libjpeg-turbo源码操作步骤