CentOs安装nginx大全(包括大部分报错解决):

1、下载nginx安装包:

方式一:wget 安装

​​1)安装相关依赖:

yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2)wget安装nginx(1.12.0版本):

wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

方式二:下载安装包安装

下载安装包地址:nginx: downloadhttp://nginx.org/en/download.html

2、安装nginx:

1)解压:

tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0

2)编译:

./configure

3)编译安装:

make
make install

4)启动nginx

whereis nginx
cd /usr/local/nginx/sbin/ #进入bin目录
./nginx #启动
./nginx -s stop #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程
./nginx -s quit #此方式停止步骤是待nginx进程处理任务完毕进行停止
./nginx -s reload #刷新

3、安装nginx遇到的问题:

1)nginx安装中 ./config 或者 make 失败:

解决 :检查上述依赖是否安装完整成功。

执行一遍 yum update 再继续执行。

2)报错“src/os/unix/ngx_user.c:36:7: 错误:‘struct crypt_data’没有名为‘current_salt’的成员” :

src/core/ngx_murmurhash.c: 在函数‘ngx_murmur_hash2’中:
src/core/ngx_murmurhash.c:37:11: 错误:this statement may fall through [-Werror=implicit-fallthrough=]
         h ^= data[2] << 16;
         ~~^~~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:38:5: 附注:here
     case 2:
     ^~~~
src/core/ngx_murmurhash.c:39:11: 错误:this statement may fall through [-Werror=implicit-fallthrough=]
         h ^= data[1] << 8;
         ~~^~~~~~~~~~~~~~~
src/core/ngx_murmurhash.c:40:5: 附注:here
     case 1:
     ^~~~
cc1:所有的警告都被当作是错误
make[1]: *** [objs/Makefile:441:objs/src/core/ngx_murmurhash.o] 错误 1
make[1]: 离开目录“/opt/apps/nginx-1.8.1”

解决:进入到nginx目录下(解压的目录)

找到当前目录下找到objs文件夹,并进入,打开文件Makefile,找到有一下内容的这行:

[root@lnmp nginx-1.8.1]# vim objs/Makefile
CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g 

-Werror: gcc将所有的警告当成错误进行处理把这行内容中的 “-Werror”去掉

3)make 或 make install 又遇到新的错误:

src/os/unix/ngx_user.c: 在函数‘ngx_libc_crypt’中:
src/os/unix/ngx_user.c:36:7: 错误:‘struct crypt_data’没有名为‘current_salt’的成员
     cd.current_salt[0] = ~salt[0];
       ^
make[1]: *** [objs/Makefile:721:objs/src/os/unix/ngx_user.o] 错误 1
make[1]: 离开目录“/opt/apps/nginx-1.8.1”
make: *** [Makefile:8:build] 错误 2

直接vim src/os/unix/ngx_user.c把它报错的这一句注释掉:

在这里插入图片描述

如果还有类似的错误直接再次注释即可。

4、卸载重装nginx(更换不同的版本):

rm -rf /usr/sbin/nginx
rm -rf /etc/nginx
rm -rf /etc/init.d/nginx

5、启动nginx时遇到的问题(Nginx出现403 forbidden (13: Permission denied)报错):

1)检查nginx配置是否缺少配置文件中index index.html index.htm这行中的指定的文件。

2)将nginx.config的user改为和启动用户一致,重启nginx:

3) 权限问题,如果nginx没有web目录的操作权限,也会出现403错误,进行文件提权:

 chmod -R 777 /data/www/

4)SELinux设置为关闭状态(disable):

vi /etc/selinux/config
#SELINUX=enforcing
改为:
SELINUX=disabled
重启生效:
reboot

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值