CentOS 6.5 Nginx 配置

1.安裝全部 http功能php

./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_modulehtml

錯誤:java

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

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

1.1 安裝 GeoIP (區分大小寫)數據庫

yum install GeoI GeoIP-data GeoIP-develvim

完畢之後,還須要到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 安裝gddom

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-** 配置)

相關文章
相關標籤/搜索