一、Nginx安装
1、下载 nginx 安装包
wget http://nginx.org/download/nginx-1.12.0.tar.gz
2、安装nginx 所需的依赖包
yum –y install gcc openssl-devel pcre-devel perl perl-devel perl-ExtUtils-Embed
3、安装 nginx
(1)解压 nginx 到/usr/local/下
tar xvf nginx-1.12.0.tar.gz –C /usr/local
(2) 更改目录名称
cd /usr/local mv nginx-1.12.0 nginx
(3)编译文件
[root@192 ~]#cd /usr/local/nginx [root@192 ~]#./configure --prefix=/usr/local/nginx \ --with-ipv6 --with-http_ssl_module \ --with-http_addition_module \ --with-http_realip_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gzip_static_module \ --with-http_perl_module \ --with-mail --with-mail_ssl_module \ --with-http_stub_status_module \ --conf-path=/usr/local/nginx/nginx.conf
(4)执行以下命令安装
make && make install
(5)配置nginx.conf
[root@192 ~]#cd /usr/local/nginx/conf [root@192 ~]#vim nginx.conf #全局配置 user nobody; #指定用户组 worker_processes 1; error_log logs/error.log notice; pid logs/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65536; } #http服务配置 http{ include /etc/nginx/mime.types; default_type application/octet-stream; charset utf-8; log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" "$http_x_forwarded_for"' '"$gzip_ratio"'; log_format download '$remote_addr - $remote_user [$time_local]' '"$http_referer" "$http_user_gent" ' '"$http_range" "$sent_http_content_range"'; client_max_body_size 20m; client_header_buffers 32k; large_client_header_buffers 4 32; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 60; client_header_timeout 10; client_body_timeout 10; send_timeout 10; #gzip配置 #通过命令/usr/local/nginx/sbin/nginx –V 查看是否安装 gzip 模块。然后编辑配置文件。 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_type text/plain application/x-javascript text/css application/xml; gizp_vary on; include /usr/local/nginx/conf.d/*.conf; }
(6)配置vhost.conf虚拟主机配置文件
server{ listen 80; server_name 192.168.0.100; index index.html index.htm index.jsp index.php; root /var/www; charset gb2312; }
(7)url 匹配配置
①通过 location 指令来对网页 URL 进行分析处理,所有扩展名为 gif,jpg。。。。的静态文件都交给nginx 处理,expires 指定静态文件过期时间。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${ root /var/www; expires 30d; }
②其他 html,jsp,php 等类似①那样配置。
(8)Nginx 的启动、关闭
①Nginx的启动
usr/local/nginx/sbin/nginx –t #测试配置文件是否正确 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/nginx.conf #启动 nginx 守护进程 usr/local/nginx/sbin/nginx –V #查看版本以及相关配置信息
②Nginx的关闭
Kill -9 pid cat /usr/local/nginx/logs/nginx.pid #Pid 查看
二、PHP的安装
1、 安装依赖包
yum –y isntall gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel libcurl libcurl-devel
2、 下载PHP 源文件
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz wget https://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
3、 解压文件
tar xvf php-5.6.30.tar.gz -C /usr/local/ #然后重命名 cd /usr/local ;mv php-5.6.30 php gzip -cd php-5.2.17-fpm-0.5.14.diff.gz |patch -d /usr/local/php -p1
4、 安装PHP 以及php-fpm
(1)编译php
[root@192 ~]# cd /usr/local/php [root@192 php]#./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
(2)安装php
make make test make install
(3)设置php配置文件
cp php.ini-production /usr/local/php/lib/php.ini mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
5、 配置和优化PHP-FPM
[root@192~]#vim /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid listen = 127.0.0.1:9000 php_flag[display_errors] = off user = nobody group = nobody pm.max_children = 5 rlimit_files = 65535 request_terminate_timeout =1 0 pm.max_requests = 500 listen.allowed_clients = 127.0.0.1 slowlog = /var/log/$pool.log.slow
6、 FastCgi 进程管理
#测试 php-fpm 配置 /usr/local/php/sbin/php-fpm -t /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t #启动 php-fpm /usr/local/php/sbin/php-fpm /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf #关闭 php-fpm kill -INT `cat /usr/local/php/var/run/php-fpm.pid` #重启 php-fpm kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
7、 配置nginx 支持PHP
server{ listen 20000; s erver_name localhost; location / { root /var/www; index index.htm index.html index.php; } location ~ \.php$ { root /var/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } }
8、 测试PHP
在根目录下新建一个 phpinfo.php 文件,内容: <?php echo phpinfo(); ?>
[root@192 ~]# echo "<?php echo phpinfo(); ?> " > /var/www/phpinfo.php
然后通过 http://IP/phpinfo.php 访问。