`
wecoo
  • 浏览: 85440 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx+php

阅读更多
1. 安装系统组件
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel


2. 安装数据库
安装cmake
\\10.10.70.36\dev\database\MySQL\Linux64\cmake-2.8.3.tar.gz
./bootstrap
Make
Make install
安装mysql
\\10.10.70.36\dev\database\MySQL\Linux64\mysql-5.5.15.tar.gz
cmake -DCMAKE_INSTALL_PREFIX=/usr/server/mysql -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/var/lib/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWIDTH_CLIENT_LDFLAGS=-all-static -DWIDTH_MYSQLD_LDFLAGS=-all-static -DENABLE_THREAD_SAFE_CLIENT=1 -DWIDTH_BIG_TABLES=1
make
make install

3. 安装libiconv
\\10.10.70.36\dev\middleware\nginx\libiconv-1.13.1.tar.gz
./configure
make
make install
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

4. 安装完libiconv后对环境进行设置
a) 在/etc/ld.so.conf中加入xxx.so所在的目錄
b) 一般而言,有很多so档案在/usr/local/lib这个目录下,所以在vim /etc/ld.so.conf中加入/usr/local/lib这一行,可以解決此问题。
c) 將 /etc/ld.so.conf存档后,还要执行/sbin/ldconfig -v来更新一下才会生效
d)
注:如果后面PHP make ZEND_EXTRA_LIBS='-liconv' 时还有错误,就对libiconv.so.2原文件进行chmod 700
5. 安装libmcrypt
\\10.10.70.36\dev\middleware\nginx\libmcrypt-2.5.7.tar.gz
./configure
make
make install


6. 安装nginx  (配置文件的修改例子在\\10.10.70.36\dev\middleware\nginx\配置文件 中有)
./configure --user=daemon --group=daemon --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
Make
Make install


i. 修改nginx/conf目录下的nginx.conf文件
user  daemon daemon;
#设置CPU核数
worker_processes 2;
error_log  /var/log/nginx/nginx_error.log  crit;
pid        /var/run/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;
    client_body_temp_path /tmp/nginx_client_body_temp;
    fastcgi_temp_path /tmp/nginx_fastcgi_temp;
    proxy_temp_path /tmp/nginx_proxy_temp;
    scgi_temp_path /tmp/nginx_scgi_temp;
    uwsgi_temp_path /tmp/nginx_uwsgi_temp;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 60m;
    #client_body_buffer_size 20M;
    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 default;
        server_name  www.uch.com;
        index index.html index.htm index.php;
        root  /var/www/uch;

        #limit_conn   crawler  20;

        #location ~ .*\.(php|php5)?$ {
        location ~ .*\.php$ {
            #fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }

        #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        #{
         # expires      30d;
        #}

        #location ~ .*\.(js|css)?$
        #{
         # expires      1h;
         # expires      1h;
        #}

        log_format www.uch.com '$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/www.uch.com  www.uch.com;
    }

ii. 修改nginx/conf目录下的fastcgi.conf文件
1. 在前面加入:
if ($request_filename ~* (.*)\.php) {
    set $php_url $1;
}
if (!-e $php_url.php) {
    return 403;
}


7. 安装PHP
./configure --prefix=/opt/php --with-config-file-path=/opt/php/conf --with-mysql=/usr/server/mysql --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-zlib=shared --enable-soap --with-openssl --enable-hash --enable-json --enable-mbstring --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-mhash --enable-xml --enable-xmlreader --enable-xmlwriter --enable-zip --enable-maintainer-zts --enable-inline-optimization --enable-zend-multibyte --enable-ftp --enable-calendar --with-curl --with-mcrypt --with-iconv --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --without-sqlite --without-sqlite3 --without-pdo-sqlite
make ZEND_EXTRA_LIBS='-liconv'
make install

[b]8. 对PHP相关文件进行修改[/b]

a) cp sapi/fpm/init.d.php-fpm /opt/php
b) chmod 700 /opt/php/init.d.php-fpm
17行 php_fpm_CONF=${prefix}/conf/php-fpm.ini
18行 php_fpm_PID=/var/run/php-fpm.pid

c) cp php.ini-production /opt/php/conf/php.ini
对文件中226行左右的short_open_tag = Off 改成short_open_tag = On
728行post_max_size = 60M
842行cgi.fix_pathinfo=1
879行upload_max_filesize = 60M
999行插入:
extension=mysqli.so
extension=mysql.so
extension=pdo_mysql.so
1000行插入:
date.timezone = "Asia/Shanghai"
date.default_latitude = 31.5167
date.default_longitude = 121.4500

d) cd /opt/php
e) cp etc/php-fpm.conf.default /opt/php/conf/php-fpm.ini
将25行前的;去掉并修改相对应用目录。如:pid = /var/run/php-fpm.pid
将30行前的;去掉并修改相对应用目录。如:error_log = /var/log/php/php-fpm.log
将35行前的;去掉。如:log_level = notice
41行 emergency_restart_threshold = 10
49行emergency_restart_interval = 1m
55行 process_control_timeout = 5s
59行daemonize = yes
100行 listen.backlog = -1
117行listen.owner = daemon
listen.group = daemon
listen.mode = 0666
112行 user = daemon
   group = daemon
152行 pm.max_children = 128
157行 pm.start_servers = 50
162行 pm.min_spare_servers = 20
167行 pm.max_spare_servers = 80
173行 pm.max_requests = 1024
230行 request_terminate_timeout = 900s
237行 request_slowlog_timeout = 0s
242行 slowlog = /var/log/php/$pool.log.slow
246行 rlimit_files = 65535
251行 rlimit_core = 0
274行 catch_workers_output = yes
305行 php_flag[display_errors] = off
   php_admin_value[error_log] = /var/log/php/fpm-php.www.log
php_admin_flag[log_errors] = on


9. 创建日志与程序目录
a) Mkdir /var/log/php
b) Mkdir /var/log/nginx
10. 部署完成后对nginx与PHP进行启动
/opt/php/init.d.php-fpm start
/opt/nginx/sbin/   ./nginx
Pkill -9 nginx

注:
1、 如果出现configure: error: libjpeg.(a|so) not found.说明系统在/usr/lib/下未找到该文件,可先用locate libjpeg.so查找文件位置,然后使用ln或cp将文件放到/usr/lib下。(一般lib下没有的,在lib64下面能找到)
2、 应用部署:
修改/opt/nginx/conf/nginx.conf中的root路径
大概64行左右
root  /var/www/ku

修改权限项目文件用户
chown daemon.daemon -R ku/
(chmod 750 ku/

修改数据库连接
/var/www/ku//config.php
/var/www/ku/ucenter/data/config.inc.php
分享到:
评论

相关推荐

    Web环境搭建:Linux+Nginx+PHP+Mysql+Redis

    ### Web环境搭建:Linux+Nginx+PHP+MySQL+Redis #### 一、环境概述与推荐版本 在构建一个高效且稳定的商城系统时,选择合适的Web环境至关重要。本指南将介绍一套广泛应用于电商平台的技术栈——**Ubuntu + PHP + ...

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本

    CentOS7 自动化搭建Nginx+PHP7+Mysql+Docker+Docker-Compose Shell脚本,Docker version 18.06.1-ce,docker-compose version 1.22.0

    linux+nginx+php+mysql环境配置指南.pdf

    Linux+Nginx+PHP+MySQL 环境配置指南 本文档旨在指导用户如何配置 Linux+Nginx+PHP+MySQL 环境,以便搭建一个功能齐全的 Web 服务器。下面是详细的配置步骤: 一、安装 Red Hat Linux 首先,需要安装 Red Hat ...

    Win+Nginx+PHP+MySQL环境搭建.docx

    Win+Nginx+PHP+MySQL 环境搭建 Win+Nginx+PHP+MySQL 环境搭建是指在 Windows 操作系统上安装和配置 Nginx、PHP、MySQL 等组件,以便搭建一个完整的 Web 服务器环境。该环境搭建主要涉及到 Nginx、PHP、MySQL 三个...

    Nginx+php+mysql+phpmyadmin引擎管理器C++源码.rar

    该压缩包文件“Nginx+php+mysql+phpmyadmin引擎管理器C++源码.rar”包含了构建一个基于C++的服务器管理工具,用于自动化安装、卸载、启用和停用Nginx、PHP、MySQL和phpMyAdmin这四个关键的Web开发组件。这个工具的...

    Linux实验-自动部署Nginx+PHP服务器.rar

    本实验旨在教你如何通过编写shell脚本来自动部署Nginx和PHP服务,以便实现对PHP文件的支持并能成功访问phpinfo()函数显示的配置信息。 **一、Nginx介绍** Nginx是一款高性能的HTTP和反向代理服务器,其特点是轻量级...

    nginx+php-fpm解决502 Bad Gateway.zip

    nginx+php-fpm解决502 Bad Gateway.zip

    Windows+Nginx+PHP7安装配置

    Windows+Nginx+PHP7安装配置 在本文中,我们将详细介绍如何在Windows环境下安装和配置Nginx和PHP7,从而实现一个完美的PHP开发环境。本文将从头到尾详细介绍安装和配置的每一个步骤,使您能够快速解决问题,并少走...

    Nginx+PHP+MySQL详细配置(图)

    【Nginx+PHP+MySQL详细配置】 Nginx是一个高效、稳定的HTTP和反向代理服务器,由俄罗斯的Rambler.ru站点开发。由于其出色的性能和低资源消耗,Nginx在中国的互联网行业中得到了广泛应用,如腾讯、网易等大型网站都...

    lnmp=linux+Nginx+PHP+MySQL

    LNMP(Linux + Nginx + PHP + MySQL)是一套常用的服务器组合,广泛应用于Web开发领域,特别是对于处理高并发和动态内容展示有着卓越的性能。这个组合将Linux操作系统作为基础,结合Nginx作为Web服务器,PHP作为后端...

    nginx+php+mysql资源集.rar

    nginx+php+mysql资源集 包含: php-7.1.8.tar.gz mysql-5.6.42.tar.gz nginx-1.8.1.tar.gz libxml2-2.9.1.tar.gz openssl-1.1.0e.tar.gz zlib-1.2.7.tar.gz 有没有一种痛苦的经历,为了配置nginx+php+mysql环境 在...

    wnmp-nginx+php+mysql

    这是nginx+php+mysql的本地windows测试环境 在u盘运行的web环境有usbwebserver,但是apache配置https没有nginx方便, 使用方式: start.bat启动 stop.bat停止 restart.bat重启

    CentOS+Nginx+PHP+MySQL详细配置(图)

    ### CentOS+Nginx+PHP+MySQL 详细配置解析 #### 一、理解 Nginx 及其重要性 Nginx 是一款轻量级、高性能的 Web 服务器及反向代理服务器,它同样具备 IMAP/POP3/SMTP 代理服务功能。这款由俄罗斯开发者 Igor Sysoev...

    构架Nginx+PHP(Fastcgi)+MySQL+Memcache高性能web服务器

    ### 构建Nginx+PHP(Fastcgi)+MySQL+Memcache高性能Web服务器 #### 一、概述 本文档旨在详细介绍如何构建一个基于Nginx、PHP(Fastcgi)、MySQL以及Memcache的高性能Web服务器架构(简称LEMP+Memcache)。此架构充分...

    Nginx+php(FastCGI)一键安装

    **Nginx+php(FastCGI)一键安装** 在Web服务器领域,Nginx以其高性能、低资源消耗而受到广泛关注。Nginx通常与PHP(通过FastCGI进程管理器)结合使用,以处理动态内容,从而构建高效稳定的Web环境。本教程将详细介绍...

    docker-compose php7.3.4-fpm+nginx+mysql配置

    docker-compose php7.3.4-fpm+nginx+mysql配置

    centos下安装nginx+php+mysql

    6. **启动 PHP-FPM**:运行 `/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf` 以确保 PHP 可被 Nginx 正确解析。 #### 五、Nginx 集成 PHP 配置 1. **修改 Nginx...

Global site tag (gtag.js) - Google Analytics