zoukankan      html  css  js  c++  java
  • Redhat Nginx+PHP安装配置

    一、软件包

    a) php-5.2.9.tar.gz

    b) php-5.2.9-fpm-0.5.10-unofficial.diff.gz

    c) nginx-0.8.52.tar.gz

    二、安装步骤

    a) tar zxvf php-5.2.9.tar.gz

    b) gzip -cd php-5.2.9-fpm-0.5.10-unofficial.diff.gz | patch -d php-5.2.9 -p1

    c) cd php-5.2.9

    d) ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --enable-sockets --enable-zip

    e) Make

    f) make install

    g) cp php.ini-dist /usr/local/php/etc/php.ini

    h) useradd nginx

    i) cd /usr/local/php/etc

    j) mv php-fpm.conf php-fpm.conf.bak

    k) vi php-fpm.conf

    <?xml version="1.0" ?>

    <configuration>

    All relative paths in this config are relative to php's install prefix

    <section name="global_options">

    Pid file

    <value name="pid_file">/usr/local/php/logs/php-fpm.pid</value>

    Error log file

    <value name="error_log">/usr/local/php/logs/php-fpm.log</value>

    Log level

    <value name="log_level">notice</value>

    When this amount of php processes exited with SIGSEGV or SIGBUS ...

    <value name="emergency_restart_threshold">10</value>

    ... in a less than this interval of time, a graceful restart will be initiated.

    Useful to work around accidental curruptions in accelerator's shared memory.

    <value name="emergency_restart_interval">1m</value>

    Time limit on waiting child's reaction on signals from master

    <value name="process_control_timeout">5s</value>

    Set to 'no' to debug fpm

    <value name="daemonize">yes</value>

    </section>

    <workers>

    <section name="pool">

    Name of pool. Used in logs and stats.

    <value name="name">default</value>

    Address to accept fastcgi requests on.

    Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'

    <value name="listen_address">127.0.0.1:9000</value>

    <value name="listen_options">

    Set listen(2) backlog

    <value name="backlog">-1</value>

    Set permissions for unix socket, if one used.

    In Linux read/write permissions must be set in order to allow connections from web server.

    Many BSD-derrived systems allow connections regardless of permissions.

    <value name="owner"></value>

    <value name="group"></value>

    <value name="mode">0666</value>

    </value>

    Additional php.ini defines, specific to this pool of workers.

    <value name="php_defines">

    <value name="sendmail_path">/usr/sbin/sendmail -t -i</value>

    <value name="display_errors">1</value>

    </value>

    Unix user of processes

    <value name="user">nginx</value>

    Unix group of processes

    <value name="group">nginx</value>

    Process manager settings

    <value name="pm">

    Sets style of controling worker process count.

    Valid values are 'static' and 'apache-like'

    <value name="style">static</value>

    Sets the limit on the number of simultaneous requests that will be served.

    Equivalent to Apache MaxClients directive.

    Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi

    Used with any pm_style.

    <value name="max_children">128</value>

    Settings group for 'apache-like' pm style

    <value name="apache_like">

    Sets the number of server processes created on startup.

    Used only when 'apache-like' pm_style is selected

    <value name="StartServers">20</value>

    Sets the desired minimum number of idle server processes.

    Used only when 'apache-like' pm_style is selected

    <value name="MinSpareServers">5</value>

    Sets the desired maximum number of idle server processes.

    Used only when 'apache-like' pm_style is selected

    <value name="MaxSpareServers">35</value>

    </value>

    </value>

    The timeout (in seconds) for serving a single request after which the worker process will be terminated

    Should be used when 'max_execution_time' ini option does not stop script execution for some reason

    '0s' means 'off'

    <value name="request_terminate_timeout">0s</value>

    The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file

    '0s' means 'off'

    <value name="request_slowlog_timeout">0s</value>

    The log file for slow requests

    <value name="slowlog">logs/slow.log</value>

    Set open file desc rlimit

    <value name="rlimit_files">65535</value>

    Set max core size rlimit

    <value name="rlimit_core">0</value>

    Chroot to this directory at the start, absolute path

    <value name="chroot"></value>

    Chdir to this directory at the start, absolute path

    <value name="chdir"></value>

    Redirect workers' stdout and stderr into main error log.

    If not set, they will be redirected to /dev/null, according to FastCGI specs

    <value name="catch_workers_output">yes</value>

    How much requests each process should execute before respawn.

    Useful to work around memory leaks in 3rd party libraries.

    For endless request processing please specify 0

    Equivalent to PHP_FCGI_MAX_REQUESTS

    <value name="max_requests">102400</value>

    Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.

    Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)

    Makes sense only with AF_INET listening socket.

    <value name="allowed_clients">127.0.0.1</value>

    Pass environment variables like LD_LIBRARY_PATH

    All $VARIABLEs are taken from current environment

    <value name="environment">

    <value name="HOSTNAME">$HOSTNAME</value>

    <value name="PATH">/usr/local/bin:/usr/bin:/bin</value>

    <value name="TMP">/tmp</value>

    <value name="TMPDIR">/tmp</value>

    <value name="TEMP">/tmp</value>

    <value name="OSTYPE">$OSTYPE</value>

    <value name="MACHTYPE">$MACHTYPE</value>

    <value name="MALLOC_CHECK_">2</value>

    </value>

    </section>

    </workers>

    </configuration>

    l) /usr/local/php/sbin/php-fpm start

    m) cd /var/local/software

    n) tar zxvf nginx-0.8.52.tar.gz

    o) rpm -qa |grep prce-devel

    p) yum -y install pcre-devel

    q) ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx

    r) Make

    s) make install

    t) cd /usr/local/nginx/conf

    u) vi nginx.conf

    user nginx nginx;

    worker_processes 8;

    error_log /usr/local/nginx/logs/nginx_error.log crit;

    pid /usr/local/nginx/logs/nginx.pid;

    #Specifies the value for maximum file descriptors that can be opened by this process.

    worker_rlimit_nofile 65535;

    events

    {

    use epoll;

    worker_connections 65535;

    }

    http

    {

    include mime.types;

    default_type application/octet-stream;

    #charset gb2312;

    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;

    #limit_zone crawler $binary_remote_addr 10m;

    server

    {

    listen 80;

    server_name localhost;

    index index.html index.htm index.php;

    root /usr/local/nginx/html/;

    #limit_conn crawler 20;

    location ~ .*\.(php|php5)?$

    {

    #fastcgi_pass unix:/tmp/php-cgi.sock;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fcgi.conf;

    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

    {

    expires 30d;

    }

    location ~ .*\.(js|css)?$

    {

    expires 1h;

    }

    log_format access '$remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent "$http_referer" '

    '"$http_user_agent" $http_x_forwarded_for';

    access_log /usr/local/nginx/logs/access.log access;

    }

    server

    {

    listen 80;

    server_name localhost;

    index index.html index.htm index.php;

    root /usr/local/nginx/html/;

    location ~ .*\.(php|php5)?$

    {

    #fastcgi_pass unix:/tmp/php-cgi.sock;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fcgi.conf;

    }

    log_format wwwlogs '$remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent "$http_referer" '

    '"$http_user_agent" $http_x_forwarded_for';

    access_log /usr/local/nginx/logs/wwwlogs.log wwwlogs;

    }

    server

    {

    listen 80;

    server_name localhost;

    location / {

    #stub_status on;

    access_log off;

    }

    }

    }

    v) vi fcgi.conf

    fastcgi_param GATEWAY_INTERFACE CGI/1.1;

    fastcgi_param SERVER_SOFTWARE nginx;

    fastcgi_param QUERY_STRING $query_string;

    fastcgi_param REQUEST_METHOD $request_method;

    fastcgi_param CONTENT_TYPE $content_type;

    fastcgi_param CONTENT_LENGTH $content_length;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    fastcgi_param SCRIPT_NAME $fastcgi_script_name;

    fastcgi_param REQUEST_URI $request_uri;

    fastcgi_param DOCUMENT_URI $document_uri;

    fastcgi_param DOCUMENT_ROOT $document_root;

    fastcgi_param SERVER_PROTOCOL $server_protocol;

    fastcgi_param REMOTE_ADDR $remote_addr;

    fastcgi_param REMOTE_PORT $remote_port;

    fastcgi_param SERVER_ADDR $server_addr;

    fastcgi_param SERVER_PORT $server_port;

    fastcgi_param SERVER_NAME $server_name;

    # PHP only, required if PHP was built with --enable-force-cgi-redirect

    fastcgi_param REDIRECT_STATUS 200;

    w)vi /usr/local/nginx/html/index.php

    <?php

    echo phpinfo;

    ?>

    w) /usr/local/nginx/sbin/nginx –t

    x) /usr/local/nginx/sbin/nginx

    y) 访问http://localhost/index.php

    三、附加

    a) /usr/local/php/sbin/php-fpm stop/start//(停止/启动 php-fpm)

    b) ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'//查找nginx主进程

    c) kill -HUP 24959//杀掉nginx主进程(24959根据上面的命令查出pid值)

    d) killall nginx//杀掉所有nginx进程

    e) ps aux|grep nginx//查找所有 nginx进程

  • 相关阅读:
    一本通1647迷路
    一本通1646GT 考试
    矩阵
    矩阵快速幂
    数学基础
    清北学堂学习经验(论颓废)
    钟皓曦第二天讲课
    P3275 [SCOI2011]糖果
    P1270 “访问”美术馆
    P2015 二叉苹果树
  • 原文地址:https://www.cnblogs.com/witer666/p/1848633.html
Copyright © 2011-2022 走看看