安装nginx的前奏
安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
下载Nginx tar包 和 解压
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
安装nginx
进入nginx目录
cd /usr/local/nginx/nginx-1.13.7 (当前下载的nginx的版本)
执行命令
./configure
执行安装make命令 ( 可以先查看当前是不是支持make命令 make -v )
yum -y install gcc automake autoconf libtool make
执行make install命令 安装nginx
make && make install
linux 安装 nginx ‘struct crypt_data’ has no member named ‘current_salt’ 解决办法
出现这个问题一般不是Nginx的版本高就是服务器版本高的问题
解决办法:
在nginx安装文件夹下输入
[root@humanyr nginx-1.6.2]# vim src/os/unix/ngx_user.c
进去编辑找到红框中的代码段,如图将它注释保存退出重新make即可
当nginx编译在遇到问题如下:
cc1: all warnings being treated as errors
make[1]: *** [objs/Makefile:886: objs/src/http/ngx_http_script.o] Error 1
make: *** [Makefile:8: build] Error 2
编译停止后,后面会出现报错信息。出现这个错误是因为编译严格,把警告当做错误处理。我们可以在执行./configure
后,进入objs目录,修改Makefile文件,把
改成CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g
CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g #-Werror -g
也就是删除Werror。
root@kali:/lnmp1.5/src/nginx-1.14.0# cd objs/
root@kali:/lnmp1.5/src/nginx-1.14.0/objs# ls
autoconf.err Makefile ngx_auto_config.h ngx_auto_headers.h ngx_modules.c src
root@kali:/lnmp1.5/src/nginx-1.14.0/objs# vi Makefile
1
2 CC = cc
3 CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g #-Werror -g
4 CPP = cc -E
5 LINK = $(CC)
6
7
8 ALL_INCS = -I src/core \
9 -I src/event \
10 -I src/event/modules \
11 -I src/os/unix \
12 -I objs \
13 -I src/http \
14 -I src/http/modules
15
16
17 CORE_DEPS = src/core/nginx.h \
18 src/core/ngx_config.h \
19 src/core/ngx_core.h \
20 src/core/ngx_log.h \
21 src/core/ngx_palloc.h \
22 src/core/ngx_array.h \
Makefile [+]
在退到Nginx源码主目录,进行编译安装,就没有报错。
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
-e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
-e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
-e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory '/lnmp1.5/src/nginx-1.14.0'
这就是编译成功的信息
nginx启动、重启、关闭
一、进入按装目录
cd usr/local/nginx/sbin 注意:usr/local/nginx 是默认安装目录
./nginx
二、重启
cd /usr/local/nginx/sbin
./nginx -s reload
关闭
./nginx -s stop
三、开机启动
找到自动启动的脚本文件 centos 目录为 /etc/rc.d/rc.local 在末尾添加 nginx的启动命令 (/usr/local/nginx/sbin/nginx) 其中/usr/local/为nginx的安装目录
vim /etc/rc.d/rc.local