lnp架构文档

lnp架构文档

2023年7月3日发(作者:)

第六部分:配置php

1:修改文件

# vi /usr/local/server/php/etc/

查找

; extension_dir = "./"

修改为

extension_dir = "/usr/local/server/php/lib/php/extensions/no-debug-non-zts-20100525/"

并在此行后增加以下几行,然后保存:

extension = ""

extension = "pdo_"

extension = ""

查找

; output_buffering

; Default Value: Off

修改为

output_buffering

Default Value: on

查找

;_pathinfo=1

修改为

_pathinfo=1,防止Nginx文件类型错误解析漏洞。

2:配置eAccelerator加速PHP:

# mkdir -p /tmp/eaccelerator_cache

# vi /usr/local/server/php/etc/

按shift+g键跳到配置文件的最末尾,加上以下配置信息:

[eaccelerator]

zend_extension="/usr/local/server/php/lib/php/extensions/no-debug-non-zts-20100525/"

_size="64"

_dir="/tmp/eaccelerator_cache"

="1"

zer="1"

_mtime="1"

="0"

=""

_max="0"

_ttl="3600"

_prune_period="3600" _only="0"

ss="1"

ss_level="9"

3:创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更配置而无需重启php-cgi):

# rm -f /usr/local/server/php/etc/

# vi /usr/local/server/php/etc/

复制以下代码

[global]

pid = run/

error_log = log/

log_level = notice

emergency_restart_threshold = 10

emergency_restart_interval = 1m

process_control_timeout = 5s

daemonize = yes

[www]

listen = 127.0.0.1:9000

g = -1

d_clients = 127.0.0.1

= nobody

= nobody

= 0666

user = www

group = www

pm = static

_children = 128

_servers = 20

_spare_servers = 5

_spare_servers = 35

request_terminate_timeout = 0

request_slowlog_timeout = 0

slowlog = log/$

rlimit_files = 65535

rlimit_core = 0

chroot =

chdir =

catch_workers_output = yes

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f 77121151@

php_flag[display_errors] = off

---------------------------------------------------------华丽分割线--------------------------------------------------------- 第七部分:优化Linux内核参数

# vi /etc/

在末尾增加以下内容

# Add

_max_syn_backlog = 65536

_max_backlog = 32768

onn = 32768

_default = 8388608

_default = 8388608

_max = 16777216

_max = 16777216

_timestamps = 0

_synack_retries = 2

_syn_retries = 2

_tw_recycle = 1

#_tw_len = 1

_tw_reuse = 1

_mem = 94500000 915000000 927000000

_max_orphans = 3276800

#_fin_timeout = 30

#_keepalive_time = 120

_local_port_range = 1024 65535

= 128000000 syscatl -p

特别注释( = 128000000 syscatl -p )

中设置的eAccelerator,_size="64",解释:eaccelerator可使用的共享内存大小(单位为MB),即64M

在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节) /proc/sys/kernel/shmmax = 33554432 (32M)

临时更改该值:

# echo 128000000 > /proc/sys/kernel/shmmax

或者

# vi /etc/

# = 128000000 syscatl -p

使配置立即生效:

# /sbin/sysctl -p

---------------------------------------------------------华丽分割线---------------------------------------------------------

第八部分:将php-fpm 作为服务运行

# cp /soft/php-5.4.8/sapi/fpm/-fpm /etc/init.d/php-fpm

# chmod 755 /etc/init.d/php-fpm

# chkconfig --add php-fpm

# chkconfig --level 345 php-fpm on

服务方式启动php-fpm

# service php-fpm start

第九部分:修改nginx,支持php

# vi /usr/local/server/nginx/conf/

找到并修改以下代码

location ~ .php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index ;

fastcgi_param SCRIPT_FILENAME /web/www$fastcgi_script_name;

include fastcgi_params;

}

提供一份完整的配置文件(仅供参考)

user www www;

worker_processes 8;

error_log /web/logs/nginx_ crit;

pid logs/;

google_perftools_profiles /tmp/tcmalloc/;

events {

use epoll;

worker_connections 65535;

}

http {

include ;

default_type application/octet-stream;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k; client_max_body_size 8m;

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;

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;

server {

listen 80;

server_name localhost;

index ;

root /web/www;

error_page 404 /;

# redirect server error pages to the static page /

#

error_page 500 502 503 504 /;

location = / {

root html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ .php$ {

charset utf-8;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index ;

fastcgi_param SCRIPT_FILENAME /web/www/$fastcgi_script_name;

include fastcgi_params;

}

}

}

---------------------------------------------------------华丽分割线---------------------------------------------------------

第十部分:编写测试页面

vi /web/www/

输入代码

运维吧

---------------------------------------------------------华丽分割线---------------------------------------------------------

第十一部分:编写每天定时切割Nginx日志的脚本

1:创建脚本/usr/local/server/nginx/sbin/cut_nginx_

vi /usr/local/server/nginx/sbin/cut_nginx_

输入以下内容:

1. #!/bin/bash

2. # This script run at 00:00

3. # The Nginx logs path

4. logs_path="/usr/local/server/nginx/logs/"

5. mkdir -p ${logs_path}$(date -d "yesterday"+"%Y")/$(date -d "yesterday"+"%m")/

6. mv ${logs_path} ${logs_path}$(date -d "yesterday"+"%Y")/$(date -d

"yesterday"+"%m")/access_$(date -d "yesterday"+"%Y%m%d").log

7. kill -USR1 `cat /usr/local/server/nginx/`

2:设置crontab,每天凌晨00:00切割nginx访问日志

# crontab -e

输入以下内容:

00 00 * * * /bin/bash /usr/local/server/nginx/sbin/cut_nginx_

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688379440a129184.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信