博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx服务器配置PHP
阅读量:4091 次
发布时间:2019-05-25

本文共 2163 字,大约阅读时间需要 7 分钟。

Nginx服务器以fastcgi的方式来支持PHP,而通常Apache是以模块方式来运行PHP的。

ubuntu下安装PHP

以5.6版本为例,下载PHP源码,并解压得到php-5.6.2文件夹。

编译并安装php
这里写图片描述
然后以sudo方式make,make install即可。期间可能需要安装2到3个依赖包,apt-get安装即可。

安装完毕后/usr/local/php/sbin目录下应该有一个php-fpm,执行之。

这里写图片描述
表明PHP和fastcgi安装配置正确。

配置Nginx的nginx.conf文件

其位于/usr/local/nginx/conf/nginx.conf。先清空原有内容,再写入:

user nobody nobody;worker_processes 2;error_log /usr/local/nginx/logs/nginx_error.log crit;pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile 51200;events{    use epoll;    worker_connections 6000;}http{    include mime.types;    default_type application/octet-stream;    server_names_hash_bucket_size 3526;    server_names_hash_max_size 4096;    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'    '$host "$request_uri" $status'    '"$http_referer" "$http_user_agent"';    sendfile on;    tcp_nopush on;    keepalive_timeout 30;    client_header_timeout 3m;    client_body_timeout 3m;    send_timeout 3m;    connection_pool_size 256;    client_header_buffer_size 1k;    large_client_header_buffers 8 4k;    request_pool_size 4k;    output_buffers 4 32k;    postpone_output 1460;    client_max_body_size 10m;    client_body_buffer_size 256k;    client_body_temp_path /usr/local/nginx/client_body_temp;    proxy_temp_path /usr/local/nginx/proxy_temp;    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;    fastcgi_intercept_errors on;    tcp_nodelay on;    gzip on;    gzip_min_length 1k;    gzip_buffers 4 8k;    gzip_comp_level 5;    gzip_http_version 1.1;    gzip_types text/plain application/x-javascript text/css text/htm application/xml;server{    listen 80;    server_name localhost;    index index.html index.htm index.php;    root /usr/local/nginx/html;    location ~ \.php$ {        include fastcgi_params;        fastcgi_pass 127.0.0.1:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;    }}}

在/usr/local/nginx/html目录下加入一个php测试程序如:

这里写图片描述

启动Nginx

sudo ./nginx

浏览器访问

这里写图片描述
说明了Nginx服务器已成功调用了php-cgi。

响应头

这里写图片描述
服务器一行是Tengine,是Nginx的一种。服务端语言是php5.6.2。

phpinfo()

在测试php文件中加入phpinfo()
这里写图片描述
可见是以fastcgi方式运行php的。

Tengine服务器和php-fpm的启动

cgi方式运行的php中,php-fpm和nginx作为两个独立进程运行。启动不分先后顺序

这里写图片描述
这里写图片描述

你可能感兴趣的文章
Ardupilot飞控Mavlink代码学习
查看>>
这些网站有一些嵌入式面试题合集
查看>>
我觉得刷题是有必要的,不然小心实际被问的时候懵逼,我觉得你需要刷个50份面试题。跟考研数学疯狂刷卷子一样!
查看>>
我觉得嵌入式面试三要素:基础吃透+项目+大量刷题,缺一不可。不刷题是不行的。而且得是大量刷,刷出感觉套路,别人做题都做得是固定题型套路条件反射了,你还在那慢慢理解慢慢推是不行的,也是考研的教训。
查看>>
相机标定的目的:获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。
查看>>
现在来看,做个普罗米修斯的docker镜像对我而言并不难,对PX4仿真环境配置也熟悉了。
查看>>
删除docker容器和镜像的命令
查看>>
VINS-Fusion Intel® RealSense™ Depth Camera D435i
查看>>
使用Realsense D435i运行VINS-Fusion并建图
查看>>
gazebo似乎就是在装ROS的时候一起装了,装ROS的时候选择的是ros-melodic-desktop-full的话。
查看>>
React + TypeScript 实现泛型组件
查看>>
TypeScript 完全手册
查看>>
React Native之原理浅析
查看>>
Git操作清单
查看>>
基础算法
查看>>
前端面试
查看>>
React Hooks 异步操作踩坑记
查看>>
聊聊编码那些事,顺带实现base64
查看>>
TypeScript for React (Native) 进阶
查看>>
React 和 ReactNative 的渲染机制/ ReactNative 与原生之间的通信 / 如何自定义封装原生组件/RN中的多线程
查看>>