1. 首页>
  2. 腾讯云代理

[经验分享] centos中nginx1.7.12的安装

腾讯云 2017年04月06日 浏览601

腾讯云代理 腾讯云直播申请 游戏上云

摘要:

.

  1. yum -y install gcc gcc-c++ wget net-tools pcre-devel zlib-devel openssl-devel

复制代码

进入常用的usr/local目录

  1. cd /usr/local/src/

复制代码

下载源码

  1. wget http://nginx.org/download/nginx-1.7.12.tar.gz

复制代码

如果太慢的话可以下载然后传到服务器上
解压

  1. tar zxvf nginx-1.7.12.tar.gz

复制代码

进入目录

  1. cd nginx-1.7.12

复制代码

配置

  1. ./configure \

  2. --prefix=/usr/local/nginx \

  3. --with-threads \

  4. --with-file-aio \

  5. --with-ipv6 \

  6. --with-pcre \

  7. --with-http_ssl_module \

  8. --with-http_spdy_module \

  9. --with-http_realip_module \

  10. --with-http_addition_module \

  11. --with-http_sub_module \

  12. --with-http_dav_module \

  13. --with-http_flv_module \

  14. --with-http_mp4_module \

  15. --with-http_gunzip_module \

  16. --with-http_gzip_static_module \

  17. --with-http_auth_request_module \

  18. --with-http_random_index_module \

  19. --with-http_secure_link_module \

  20. --with-http_degradation_module \

  21. --with-http_stub_status_module \

  22. --with-mail \

  23. --with-mail_ssl_module


复制代码

编译

  1. make

复制代码

如果要查看有没有出错
可以用  echo $?
安装

  1. make install

复制代码

编写nginx启动脚本,并加入系统服务

  1. vi /etc/init.d/nginx

复制代码

写入以下内容





#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"

start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

exit $RETVAL











保存 :wq   退出
然后 添加权限

  1. chmod 755 /etc/init.d/nginx

复制代码

添加nginx到服务

  1. chkconfig --add nginx

复制代码

再加到开机自动启动

  1. chkconfig nginx on

复制代码

接下来配置nginx.conf
#首先把原来的配置文件清空:

  1. > /usr/local/nginx/conf/nginx.conf

复制代码

编辑

  1. vi /usr/local/nginx/conf/nginx.conf

复制代码

然后按小写i进入编辑
写入以下内容 worker_processes 2; 如果4核 可以改为4

  1. user nobody nobody;

  2. worker_processes 2;

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

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

  5. worker_rlimit_nofile 51200;


  6. events

  7. {

  8.     use epoll;

  9.     worker_connections 6000;

  10. }


  11. http

  12. {

  13.     include mime.types;

  14.     default_type application/octet-stream;

  15.     server_names_hash_bucket_size 3526;

  16.     server_names_hash_max_size 4096;

  17.     log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'

  18.     '$host "$request_uri" $status'

  19.     '"$http_referer" "$http_user_agent"';

  20.     sendfile on;

  21.     tcp_nopush on;

  22.     keepalive_timeout 30;

  23.     client_header_timeout 3m;

  24.     client_body_timeout 3m;

  25.     send_timeout 3m;

  26.     connection_pool_size 256;

  27.     client_header_buffer_size 1k;

  28.     large_client_header_buffers 8 4k;

  29.     request_pool_size 4k;

  30.     output_buffers 4 32k;

  31.     postpone_output 1460;

  32.     client_max_body_size 10m;

  33.     client_body_buffer_size 256k;

  34.     client_body_temp_path /usr/local/nginx/client_body_temp;

  35.     proxy_temp_path /usr/local/nginx/proxy_temp;

  36.     fastcgi_temp_path /usr/local/nginx/fastcgi_temp;

  37.     fastcgi_intercept_errors on;

  38.     tcp_nodelay on;

  39.     gzip on;

  40.     gzip_min_length 1k;

  41.     gzip_buffers 4 8k;

  42.     gzip_comp_level 5;

  43.     gzip_http_version 1.1;

  44.     gzip_types text/plain application/x-javascript text/css text/htm application/xml;



  45. server

  46.         {

  47.             listen 80 default;

  48.             server_name _;

  49.             return 502;

  50.         }

  51.         include /usr/local/nginx/conf/host/*.conf;



  52. }

复制代码
  1. :wq

复制代码

可以新建一个host目录

  1. mkdir /usr/local/nginx/conf/host

复制代码



新建的网站目录

  1. mkdir /你要建的网站目录

复制代码

做多网站include /usr/local/nginx/conf/host/*.conf; 
然后进入host目录

  1. cd /usr/local/nginx/conf/host

复制代码

编辑新个.conf文件后按:wq保存

  1. vi webname.conf 

  2. vi webname2.conf

复制代码

server_name www.your.com;改成自已的域名
然后更改root目录 root /usr/local/nginx/html;      root /usr/local/ningx/html/webname;    root /mydata/www; 想怎么配都可以

  1. server

  2. {

  3. listen 80;

  4. server_name www.your.com;

  5. index index.html index.htm index.php;

  6. root /usr/local/nginx/html;


  7. location ~ \.php$ {

  8. include fastcgi_params;

  9. fastcgi_pass 127.0.0.1:9000;

  10. fastcgi_index index.php;

  11. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

  12.   }


  13. }

复制代码


新建多个网站的conf  保存为webname.conf  
webname.2conf



保存配置后,先检验一下配置文件是否有错误存在:

  1. /usr/local/nginx/sbin/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:

  1. service nginx start

复制代码

如果不能启动,请查看 “/usr/local/nginx/logs/error.log” 文件,检查nginx是否启动:

  1. ps aux |grep nginx

复制代码

看是否有进程。

====================================
====================================

下现来安装php
进入下载目录

  1. cd /usr/local/src

复制代码

下载php

  1. wget http://am1.php.net/distributions/php-5.5.23.tar.gz

复制代码

解压php压缩包

  1. tar zxvf php-5.5.23.tar.gz

复制代码

yum安装库

  1. yum -y install make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel libxml2-devel libpng-devel freetype-devel libmcrypt-devel libjpeg-turbo-devel

复制代码

配置

  1. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --with-mysql=mysqlnd  --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --enable-bcmath --enable-mbstring --enable-sockets --with-gd --with-libxml-dir=/usr/local --with-gettext

复制代码

编译

  1. make

复制代码

安装

  1. make install

复制代码

复制php.ini到php/etc下

  1. cp php.ini-production /usr/local/php/etc/php.ini

复制代码
  1. vim /usr/local/php/etc/php.ini

复制代码

按i进入编辑模式 加入

  1. zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so

复制代码

编辑php-fpm配置文件

  1. vim /usr/local/php/etc/php-fpm.conf

复制代码

按i写入以下内容

  1. [global]

  2. pid = /usr/local/php/var/run/php-fpm.pid

  3. error_log = /usr/local/php/var/log/php-fpm.log

  4. [www]

  5. listen = 127.0.0.1:9000

  6. user = php-fpm

  7. group = php-fpm

  8. listen.owner = nobody

  9. listen.group = nobody

  10. pm = dynamic

  11. pm.max_children = 50

  12. pm.start_servers = 20

  13. pm.min_spare_servers = 5

  14. pm.max_spare_servers = 35

  15. pm.max_requests = 500

  16. rlimit_files = 1024

复制代码

添加php-fpm到init.d

  1. cp /usr/local/src/php-5.5.23/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

复制代码

设置开机启动php-fpm

  1. chkconfig php-fpm on

复制代码

下面用ps aux来看php-fpm的进程

  1. ps aux |grep php-fpm

复制代码

如果安装好后 记得 隐藏下nginx php版本号
-------打开php.ini
找到 expose_php = On 改为 expose_php = Off
-------打开nginx.conf
在http 加上 server_tokens off;
如下:
http {
……省略配置
server_tokens off;   ->即可隐藏版本号
…….省略配置
}
找到 fastcgi_params
将里面的
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
修改为:
fastcgi_param SERVER_SOFTWARE nginx;

也可以在编译make之前的时候  进入源码目录vim /usr/local/src/nginx-1.7.12/src/core/nginx.h 
#define NGINX_VERSION      "1.7.0"

#define NGINX_VER          "nginx/" NGINX_VERSION


1.7.0为版本号
"nginx/"也可以改成 别的


腾讯云服务商邀请关注:

http://partners.qcloud.com/invitation/99377079157835da208bd0

关注服务商的链接,提供下您关注的QQ,我们这边审核下即可快速回复您的工单问题与技术支持! 感谢您的信任与支持!

auto_1452.png

腾讯云技术交流群





原文地址:http://bbs.qcloud.com/thread-10359-1-1.html

相关文章

在线客服
淘宝购买
腾讯云直播申请 title=
+成为腾讯云VIP客户 腾讯云直播申请 客服电话

15818558013

0755-33940501-803

0755-33940501-808