zoukankan      html  css  js  c++  java
  • CentOS 6.5 Nginx 配置

    1.安装所有 http功能

    ./configure --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module

    错误:

    ./configure: error: the HTTP image filter module requires the GD library.

    ./configure: error: the GeoIP module requires the GeoIP library

    1.1 安装 GeoIP (区分大小写)

    yum install GeoI GeoIP-data GeoIP-devel

    完毕以后,还需要到MaxMind去下一个GeoCityLite,待会php程序要用到。

    下载地址是:http://geolite.maxmind.com/downl ... /GeoLiteCity.dat.gz
    下载完毕以后,将压缩包解压出数据库的.dat文件,并把文件重命名为GeoIPCity.dat,然后移动到GeoIP的数据文件夹下。
    使用 whereis GeoIP查看位置在 /usr/share
     
    gzip -d GeoLiteCity.dat.gz
    mv GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat
    参考:
     

    1.2 安装gd

    yum install gd-devel

    参考:http://www.cnblogs.com/tintin1926/archive/2012/07/11/2586624.html

     

    1.3帐号用户配置

    --user=www-data --group=www-data 表示帐号和用户, 这两个应该都是已经存在的, 若不存在则在配置晚Nginx后需要添加这两个帐号或者修改 nginx.conf配置为user nobody, 详细见 4.1

    至此,configure 成功

    2. make

    没有出现错误提示;成功。

    出现 make[1]: Leaving directory `/home/gxw/Downloads/nginx-1.6.0'

    3. make install

    没出先错误提示, 成功。

    安装路径为:/usr/local/nginx/

    出现

    [root@localhost nginx-1.6.0]# make install
    make[1]: Leaving directory `/home/gxw/Downloads/nginx-1.6.0'

     

    4 安装后运行出现的错误:

    4.1 [root@localhost sbin]# ./nginx
    nginx: [emerg] getpwnam("www-data") failed

    原因: 没有创建www这个用户

    解决:

    4.1.1 添加www用户组和用户www,如下命令:

    #/usr/sbin/groupadd -f www
    #/usr/sbin/useradd -g www www
    4.2.1 更改设置:
    http://www.iitshare.com/install-nginx-nginx-emerg-getpwnam-www-failed-error.html
     在nginx.conf中
    把user nobody的注释去掉既可 
    或者
    nobody 更改为已有帐号:gxw
    [root@localhost conf]# cd /usr/local/nginx/conf
    [root@localhost conf]# vim nginx.conf
    第1行: # user  nobody;  去掉注释即删除#
    改为: user  nobody;
     
    4.2 nginx.conf错误
    [emerg] invalid number of arguments in "user" directive in /usr/local/nginx/conf/nginx.conf:4
    发现: /usr/local/nginx/conf/nginx.conf 文件中
    第3行, user nobody 少了; 结尾。
    user nobody;
       

    添加; 后,测试成功。显示为:

    [root@localhost 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

     

    4.3 普通用户 gxw无法启动nginx

    4.3.1 出现错误:

      [gxw@localhost sbin]$ ./nginx
    nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
    2014/07/01 21:12:13 [warn] 4882#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:2
    2014/07/01 21:12:13 [emerg] 4882#0: open() "/usr/local/nginx/logs/access.log" failed (13: Permission denied)
    原因是:
    默认情况下linux的1024以下端口是只有root用户才有权限占用

    而gxw:gxw属于gxw组布局被root权限。

    并且Log文件也是root权限。gxw也不具备。

    4.3.2解决:

    方法一采用了该方法

    所有用户都可以运行(因为是755权限,文件所有者:root,组所有者:root)

    chown root:root nginx

    chmod 755 nginx

    chmod u+s nginx

     

    方法二:

    仅 root 用户和 reistlin 用户可以运行(因为是750权限,文件所有者:root,组所有者:www)

    chown root:www nginx

    chmod 750 nginx

    chmod u+s nginx

    5. 成功运行

    进入:/usr/local/nginx/sbin/

    [root@localhost sbin]# ./nginx    开启Nginx

    打开浏览器输入:127.0.0.1

    显示页面:

    6. 使用命令

    /usr/local/nginx/nginx -V  查看版本 和 配置信息(编译前的 --with-** 配置)

  • 相关阅读:
    loadrunder之脚本篇——action分类
    性能测试工具下载
    Loadrunder常见问题汇总(持续更新)
    python编程总结
    使用 rsync 同步
    mysql查询今天、昨天、7天、近30天、本月、上一月 数据
    vim配置
    shell 分割字符串存至数组
    变换莫测
    2014 10
  • 原文地址:https://www.cnblogs.com/xiangwengao/p/3793687.html
Copyright © 2011-2022 走看看