×
新网 > 虚机资讯 > 正文

centos7环境下nginx和php7配置说明

基于以下环境已经安装ok: centos:7.2 nginx:1.12.2 php:7.1.10 注:为了使用方便,需要将php加到系统环境变量中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时,则会提示命令不存在的错误,添加命令: $echo -e \'nexport PATH=/usr/local/php/bin:/usr/local/php/s

基于以下环境已经安装ok:

注:为了使用方便,需要将php加到系统环境变量中,如果在没有添加到环境变量之前,执行“php -v”命令查看当前php版本信息时时,则会提示命令不存在的错误,添加命令:

1 (34).jpg

$echo -e \'nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATHn\' >> /etc/profile && source /etc/profile $php -v PHP 7.1.10 (cli) (built: Nov 10 2017 18:02:06) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies PHP配置

拷贝php7.1.10源码目录下相应配置文件到php安装的etc目录下:

$cd /usr/local/php/etc/ $cp php.ini-production php.ini $cp php-fpm.conf.default php-fpm.conf $cp php-fpm.d/www.conf.default php-fpm.d/www.conf $ls pear.conf php-fpm.conf php-fpm.conf.default php-fpm.d php.ini

php.ini配置

# 不显示错误,默认 display_errors = Off # 在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置),默认 log_errors = On # 字符集,默认 default_charset = "UTF-8" # 文件上传大小,默认值太小,如果是后台应用,一般涉及上传文件,可设置大点 upload_max_filesize = 64M # Maximum size of POST data that PHP will accept. 表单最大值,默认是8M,如果表单含有多图上传,大小可能不够。超过该大小后台收不到 表单数据 post_max_size = 64M # 设置PHP的扩展库路径,,默认被注释了。 extension_dir = "/usr/local/php7/lib/php/extensions/" # 如果不设置extension_dir,也可以直接写绝对位置: # extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so # 设置PHP的时区 date.timezone = PRC # 开启opcache,默认是0,官方介绍这可以大幅提升性能,建议开启 [opcache] ; Determines if Zend OPCache is enabled opcache.enable=1

php-fpm.conf配置

; 去掉里分号,方便以后重启。建议修改 ; Default Value: none ; 下面的值最终目录是/usr/local/php/var/run/php-fpm.pid ; 开启后可以平滑重启php-fpm pid = run/php-fpm.pid ; 设置错误日志的路径,可以默认值 ; Note: the default prefix is /usr/local/php/var ; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log error_log = log/php-fpm.log ; Log等级,可以默认值 ; Possible Values: alert, error, warning, notice, debug ; Default Value: notice log_level = notice ; 后台运行,默认yes,可以默认值 ; Default Value: yes ;daemonize = yes ; 引入www.conf文件中的配置,可以默认值,如果没有可手动加入 include=/usr/local/php/etc/php-fpm.d/*.conf

www.conf配置(在etc/php-fpm.d/目录下,它是php-fpm进程服务的扩展配置文件,有些会将此文件内容直接放到php-fpm.conf后面,建议分出来,这样更好维护)

; 设置用户和用户组,默认都是nobody。可以默认值。决定你的php是以什么用户运行,这里配置为www,注意需要添加www用户并添加 ; 到相应用户组 user = www group = www ; 设置PHP监听 ; 下面是默认值,可以默认值。此值与nginx.conf相应配置对应 listen = 127.0.0.1:9000 ; 也可以配置为sock方式。根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; ; listen = /var/run/php-fpm/php-fpm.sock ######开启慢日志。可以默认值 slowlog = var/log/$pool.log.slow request_slowlog_timeout = 10

添加www用户并设置组(如果已经有www用户可略过)

$useradd www #假如你的运行目录也正巧放在目录下/home/www/src $chown -R www:www /home/www/src

检查phpp-fpm.conf配置文件是否正确

$/usr/local/php/sbin/php-fpm -t [01-Dec-2017 17:06:24] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

启动php-fpm

#启动 $/usr/local/php/sbin/php-fpm #其他相关操作命名 $killall php-fpm #关闭 $ps aux |grep php-fpm #查看启动情况 NGINX配置

nginx.conf配置

http { server_tokens off; include mime.types; default_type application/octet-stream; charset utf-8; #解决虚拟主机名字过长 server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 64m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; #fastcgi_buffer_size 64k; #fastcgi_buffers 4 64k; #fastcgi_busy_buffers_size 128k; #fastcgi_temp_file_write_size 128k; fastcgi_buffer_size 128k; fastcgi_buffers 8 128k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; #开启gzip gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; gzip_disable msie6; #设置nginx日志格式 log_format access \'Time: $time_iso8601 \' \'Remote Addr: $remote_addr \' \'Request: $request \' \'Status: $status \' \'Body Sent[B]:$body_bytes_sent \' \'Http Referer: $http_referer \' \'Http User Agent: $http_user_agent \' \'Http x Forwarded For: $http_x_forwarded_for\'; access_log off; #文件底部添加,避免多个web服务配置在一个nginx.conf文件下,以便更好的维护 include /usr/local/nginx/conf/vhosts/*.conf; }

添加你需要的web服务配置到vhosts下,如g.ktvme.com.conf,命名自己看得懂即可

server { listen 8080; server_name g.ktvme.com; charset utf-8; root /home/www/src/g.ktvme.com/public; index index.php; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; break; } } location ~ .php$ { fastcgi_pass 127.0.0.1:9000;#对应php-fpm.d/www.conf listen配置 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/src/g.ktvme.com/public/$fastcgi_script_name; include fastcgi_params; } location ~ .+.php($|/) { #配置PHP支持PATH_INFO进行URL重写 set $script $uri; set $path_info "/"; if ($uri ~ "^(.+.php)(/.+)"){ set $script $1; set $path_info $2; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php?IF_REWRITE=1; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/www/src/g.ktvme.com/public/$script; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_NAME $script; } }

启动nginx

#查看nginx 配置是否ok $nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #启动 $nginx #或/usr/local/nginx/sbin/nginx #重启 $nginx -s reload #停止 $nginx -s stop

到此就完成php和ngnix的配置,理论应该可以正常访问到你的web服务

memeched服务安装

1、包地址:http://memcached.org/downloads

2、memcached需依赖于libevent,所以没有安装的需先安装libevent:

下载地址:http://www.monkey.org/~provos/libevent/

进入libevent包目录

$./configure --prefix=/usr/local/libevent # (/usr/local/libevent 是安装路径) $make && make install

3、memcached安装

进入memcached目录

$./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/ $make && make install

4、启动Memcache的服务器端:

$/usr/local/memcache/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 11211-c 256 -P /tmp/memcached.pid 

启动参数:

-d 选项是启动一个守护进程,

-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB

-M return error on memory exhausted (rather than removing items)

-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。

-l 是监听的服务器IP地址,默认为所有网卡。

-p 是设置Memcache的TCP监听的端口,最好是1024以上的端口

-c 选项是最大运行的并发连接数,默认是1024

-P 是设置保存Memcache的pid文件

-f <factor> chunk size growth factor (default: 1.25)

-I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)

运行ps aux|grep memcached

若有memcached相关进程则说明成功!

杀死memcahed

$kill `cat /tmp/memcached.pid`

5、设置开机启动

写服务脚本

$vi /etc/init.d/memcached #写入以下脚本 #!/bin/sh # # memcached: MemCached Daemon # # chkconfig: - 90 25 # description: MemCached Daemon # # Source function library. . /etc/rc.d/init.d/functions . /etc/sysconfig/network #[ ${NETWORKING} = "no" ] && exit 0 #[ -r /etc/sysconfig/dund ] || exit 0 #. /etc/sysconfig/dund #[ -z "$DUNDARGS" ] && exit 0 MEMCACHED="/usr/local/memcache/bin/memcached" SERVER_IP="127.0.0.1" SERVER_PORT="11211" [ -f $MEMCACHED ] || exit 1 start() { echo -n $"Starting memcached: " daemon $MEMCACHED -u daemon -d -m 2048 -l $SERVER_IP -p $SERVER_PORT -P /tmp/memcached.pid echo } stop() { echo -n $"Shutting down memcached: " killproc memcached echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0

设置启动服务

$chmod 755 /etc/init.d/memcached #增加执行权限 $chkconfig memcached on #设置开机启动 $chkconfig --list memcached #查看是否设置成功

服务管理命令

$service memcached start # 启动memcached $service memcached stop # 关闭memcached $service memcached restart # 重启memcached

 

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading