Linux 下安装配置nginx及常见问题解答

其实也不能完全算是原创吧!都是我配置nginx时所遇到的问题,查阅资料后总结起来。即是巩固一下nginx的配置,也是分享给新入Linux的童鞋们一些知识

好了,不多废话,进入主题吧!

为nginx添加www组及www用户

[root@hostname ~ ]groupadd www      //添加www组
[root@hostname ~ ]useradd -g www www  //添加www用户并加入www组

注:如果给groud、passwd等文件添加过不可更改属性,需要先取消权限锁定设置(这不是废话吗= =!)

编译安装

[root@hostname ~ ]tar zxvf nginx-1.8.0.tar.gz  //解压包
[root@hostname ~ ]./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --user=www --group=www //安装nginx到/usr/local/下,设置配置文件路径及用户
[root@hostname ~ ]make
[root@hostname ~ ]make install

对于nginx软件包,个人建议从官网下载


 

错误信息及解决方法

进行到 ./configure这一步时报错,解决方法如下:

1)如果报错
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

  说明pcre依赖软件没有安装或者没有安装成功。 安装PCRE依赖

[root@hostname ~]tar zxvf pcre-8.12.tar.gz
[root@hostname ~]cd pcre-8.12
[root@hostname ~]./configure
[root@hostname ~]make
[root@hostname ~]make install

   2)如果报错

./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using –without-http_gzip_module
option, or install the zlib library into the system, or build the zlib 
library
statically from the source with nginx by using –with-zlib=<path> option.

  同上、zlib-devel依赖没安装或安装失败 。安装zlib-devel依赖

[root@hostname ~]yum install -y zlib-devel //也可以软件包安装

  这时再进行./configure make make install 即可完成安装。

 

启动nginx 

[root@hostname ~]/usr/local/nginx/sbin/nginx /usr/local/nginx/conf/nginx.conf

  如果报异常如下,说明我们环境还没有完全配置好

[root@hostname ~]/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

  解决方法:进入lib目录下,直接输入

[root@hostname lib]ln -s /usr/local/lib/libpcre.so.1 /lib     //32位系统
[root@hostname lib]ln -s /usr/local/lib/libpcre.so.1 /lib64   //64位系统

       再启动nginx,没有报错信息,查看nginx进程(至少要有一个master一个worker)

[root@hostname ~]$ ps -aux | grep nginx
root 15913  0.0  0.0  19804   628 ?  Ss  11:58  0:00 nginx: master process /usr/local/nginx/sbin/nginx
www 15914  1.9  0.0  20720  2068 ?  S  11:58  3:11 nginx: worker process

  到这一步,nginx就已经配置成功了

 

  Tips:非root用户不要忘记使用sudo进行上面的操作(这也是废话吧= =!)

 

posted @ 2016-08-12 15:06 哈利法 阅读(...) 评论(...) 编辑 收藏