ubuntu下nginx+php5的部署
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的部署相关推荐
- linux下nginx+python+fastcgi部署总结(web.py版)
2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+djang ...
- ubuntu下nginx配置
ubuntu下nginx配置 文章目录 ubuntu下nginx配置 初步分析 查看nginx.service 找到服务文件 查看服务文件 查看配置文件的加载路径 配置文件分析 全局指令块 http指 ...
- 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 ...
- Ubuntu下certbot申请和部署证书
前面总结的获取证书方式里,使用的是先手动生成CSR文件和密钥对,然后再根据CSR文件生成自签名证书,最后进行CRL和OCSP校验.接下来就把自己在Ubuntu下用certbot申请和部署Let's E ...
- Ubuntu下的Nginx-Uwsgi-Django项目部署详细流程
Ubuntu下的Nginx+Uwsgi+Django项目部署详细流程 版本 Ubuntu 18.04 Python 3.6 Django 3.2 Nginx 1.14.0 Python 虚拟环境 vi ...
- windows下nginx+mono+fastCGI部署asp.net网站
1,什么是nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx ...
- Ubuntu下Nginx安装与配置---kalrry
Ubuntu安装nginx反向代理服务器--kalrry 前言 一.购买服务器并安装ubuntu系统 1. 购买云主机 2. 安装ubuntu操作系统 二.开放Linux的ssh访问权限,用于远程连接 ...
- Ubuntu下Nginx/PHP/MYSQL开发环境的配置方法
最近将原来的程序都迁移到了Nginx下来了,用了Ubuntu也有一段时间大了,慢慢了习惯了下Linux的操作,在加上Linux下性能确实不错,就开始配置了. 配置了 Ubuntu 9.10 Ngin ...
- yii2环境搭建(ubuntu下nginx+php+mysql+yii2)
2019独角兽企业重金招聘Python工程师标准>>> 系统版本:ubuntu版本14.04 x86_64 nginx版本:1.4.6 (默认命令安装版本) PHP版本:php-5. ...
最新文章
- js中的toString方法
- 泊松回归、gamma回归、Tweedie回归等广义线性回归模型GLM的评估指标:校准曲线、 洛伦兹曲线、卡方检验、AIC、BIC、偏差(Deviance)指标
- 不一样的随机数生成方法(C/C++)
- linux系统vsftpd登陆慢卡怎么办
- 17、Java Swing Timer:计时器组件
- php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
- 2.2物理层传输介质
- 最后一周 | 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
- 基于asp.net的网上书店商城设计与实现
- javaScript通用数据类型校验2
- mac搭建apace和php开发环境
- 小程序入门学习03--navigator组件
- BZOJ3626 神思路的树链剖分+线段树维护
- android sqlite配置,60. (android开发)SQLite作为APP应用的配置打包
- Linux下的shell编程(二)BY 四喜三顺
- C#做小工具的时候碰到的问题
- 割平面法 matlab,割平面法matlab
- Python编辑和保存Word(docx)
- 一些好用的免费的截屏、GIF制作的PC端小工具
- 输入一个仅含十二进制数的字符串输出二进制