必威官网登录linux学习(二) -- ubuntu下lnmp环境的配

ppa安装php-fpm安装工具包复制代码 代码如下:$ sudo apt-get install python-software-properties 添加ppa源复制代码 代码如下:$ sudo add-apt-repository ppa:yola/php5安装php5-fpm复制代码 代码如下:sudo apt-get updatesudo apt-get install php5-fpm其它必要的软件安装接复制代码 代码如下:sudo apt-get install nginx配置php-fpmphp-fpm的解析器是C/S结构,它的配置文件位于:/etc/php5/fpm/php-fpm.conf /etc/php5/fpm/pool.d/一般没什么严格的配置的要求,或者说这块我还没有具体的研究每个配置参数的意义我采用了tcp模式与fastcgi进程进行连接,因此我修改了tcp监听的地址和端口,修改了一下监视目录的名称,这里不做具体详细解释了,大家可以参考官方文档根据自己的需求进行配置重启php5-fpm配置nginx前言nginx本身并不会对php语言进行解析,这个区别于apache(apache有在带的mod_php模块进行php解析).nginx是通过fastcgi将客户端的php请求交给后台的php5-fpm进程管理器,php5-fpm具有解析php的功能nginx的主配置文件文件位置:/etc/nginx/nginx.conf,我的配置参数如下:复制代码 代码如下:user www-data;#主动开启cpu多核功能worker_processes 2;worker_cpu_affinity 01 10;#指定nginx进程可以打开的最大文件描述符数量worker_rlimit_nofile 65535;pid /var/run/nginx.pid;events {#使用epoll的I/O模型use epoll;#工作单进程的并发连接数,总体并发连接数 = worker_connections * worker_processesworker_connections 2048;#multi_accept在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接multi_accept on;}http {include /etc/nginx/mime.types;default_type application/octet-stream;charset utf-8;server_names_hash_bucket_size 128;client_header_buffer_size 2k;large_client_header_buffers 4 4k;#通过nginx上传文件的大小client_max_body_size 8m;#$remote_addr:记录ip地址;$remote_user:记录远程客户端用户名称;$request:请求的url和http协议;$status:用于记录请求状态;$body_bytes_sent:用于记录发送给客户端文件主体内容的大小;$http_referer:跳转链接;$http_x_forwarded_for:客户的真实ip地址log_format main '$server_name$remote_addr$remote_user[$time_local]"$request"' '$status$body_bytes_sent"$http_referer"' '"$http_user_agent""$http_x_forwarded_for"';access_log/var/log/nginx/access.log main;error_log/var/log/nginx/error.log;sendfile on;tcp_nopush on;#keepalive的超时时间keepalive_timeout 60;open_file_cache max=204800 inactive=20s;open_file_cache_min_uses 1;open_file_cache_valid 30s; tcp_nodelay on; gzip on; include /etc/nginx/conf.d/*.conf;}日志格式之间是用不可打印符号进行分隔的,ctrl v && ctrl anginx虚拟主机配置文件复制代码 代码如下:upstream haolianxi_必威官网登录,php {server 127.0.0.1:9444;}server {listen192.168.1.137:7777;access_log/var/log/nginx/haolianxi/haolianxi.access.log main;error_log/var/log/nginx/haolianxi/haolianxi.error.log;#通用匹配location / {root/srv/www/php/;autoindex on;autoindex_exact_size off;autoindex_localtime on;access_log/var/log/nginx/haolianxi/location.default.access.logmain;error_log/var/log/nginx/haolianxi/location.default.error.log;allow 192.168.1.0/24;deny all;}#正则表达式匹配#proxy the php scripts to php-fpmlocation ~ .php$ {root/srv/www/php/;include/etc/nginx/fastcgi_params;fastcgi_passhaolianxi_php;# The upstream determined abovefastcgi_indexindex.php;}#php-fpm status monitorlocation = /phpfpm_status {fastcgi_pass 127.0.0.1:9444;fastcgi_index index.php;include /etc/nginx/fastcgi_params;allow192.168.1.127;allow127.0.0.1;deny all;}## Compression# src: src: gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_proxied any; gzip_min_length 1100; gzip_buffers 16 8k; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml rss text/javascript; # Some version of IE 6 don't handle compression well on some mime-types, so just disable for them gzip_disable "MSIE [1-6]."; # Set a vary header so downstream proxies don't send cached gzipped content to IE6 gzip_vary on; ## /Compression}注意:include /etc/nginx/fastcgi_params中一个参数设置需要修改,修改如下:复制代码 代码如下:fastcgi_param SCRIPT_NAME $document_root$fastcgi_script_name;因为脚本的名称不加上$document_root,php5-fpm是无法找到需要执行的php脚本的绝对路径的重启nginx复制代码 代码如下:sudo /etc/init.d/nginx restart测试fastcgi_finish_request()函数复制代码 代码如下:说明:用最大的白话说,fastcgi_finish_request()可以提前关闭和客户端的连接,把需要返回的数据返回给客户端,但是函数之后的分支业务逻辑还是继续在后台运行!php5-fpm日志按天分割脚本复制代码 代码如下:#!/bin/bash - #1.php5-fpm日志存放路径php5_fpm_logs_path="/var/log/php5-fpm/"category_array=#2.php5-fpm日志名后缀postfix=`date -d '-1 days' %Y%m%d`".log"#3.php5-fpm日志切割for category in ${category_array[*]}doif [ -e $php5_fpm_logs_path/php5-fpm.$category.log ]thenmv $php5_fpm_logs_path/php5-fpm.$category.log $php5_fpm_logs_path/php5-fpm.$category.$postfixfidone#4.查找php5-fpm进程号,让其产生新的日志文件php5fpm_pid=`ps -aux |grep -E 'php-fpm: master process'|grep -v 'grep'|awk '{print $2}'`#USR1:Reopen log files,刷新nginx日志文件kill -USR1 $php5fpm_pid

亲测的教程,,希望能对大家提供些许帮助,转载请注明出处

ubuntu nginx mysql php7

一.安装Nginx

1、首先添加nginx_signing.key(必须,否则出错)

$ wget $ sudo apt-key add nginx_signing.key

2、添加Nginx官方提供的源

$ echo "deb trusty nginx" >> /etc/apt/sources.list

$ echo "deb-src trusty nginx" >> /etc/apt/sources.list

3、更新源并安装Nginx

$ sudo apt-get update

$ sudo apt-get install nginx

安装Nginx完成后可查看版本号,输入

$ /usr/sbin/nginx -v

至此Nginx安装完成,此时访问IP可以看到Welcome Nginx的界面。

本文由必威官网登录发布于游戏编程设计,转载请注明出处:必威官网登录linux学习(二) -- ubuntu下lnmp环境的配