1.先安装相关依赖
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel
2.安装
安装之前,最好检查一下是否已经安装有nginx
find -name nginx
如果系统已经安装了nginx,那么就先卸载
yum remove nginx
首先进入/usr/local目录
cd /usr/local
从官网下载最新版的nginx
wget http://nginx.org/download/nginx-1.10.4.tar.gz
解压nginx压缩包
tar -zxvf nginx-1.7.4.tar.gz
会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录
cd nginx-1.7.4
接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装
./configure $默认安装在/usr/local/nginx
make
make install
将对应的makefile文件夹中(如本文中在 /nginx-1.10.3/objs/Makefile) 找到 -Werrori 并去掉 在重新make即可
查了-Werrori意思之后 发现原来它要求GCC将所有的警告当成错误进行处理 所有导致错误输出 并不能进行下一步
如果没有报错,顺利完成后,最好看一下nginx的安装目录
whereis nginx
启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit
:此方式停止步骤是待nginx进程处理任务完毕进行停止。./nginx -s stop
:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
配置SSL报错:
Starting nginx: nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:112
在给服务器安装https证书的时候,重启服务器后,发现报错了。
Starting nginx: nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:112
说是没有安装OpenSSL,但是我whereis openssl 发现是有的。直接输入OpenSSL也是有的。所以断定肯定不是因为没有下载。
然后可能就是再,安装Nginx的时候,,没有配置ssl环境。所以就执行。
1、进入Nginx的安装目录例如:(/home/nginx-xb/nginx-1.10.1/)
2、进入后执行 ./configure --with-http_ssl_module;
3、然后执行make (不要执行make instal)
4、执行 cp /usr/local/nginx/sbin/nginx /usr/local/nginx /sbin/nginx.bak
cp: overwrite ‘/usr/local/nginx/sbin/nginx.bak’?
[root@vm10-0-0-19 nginx-1.10.1]#
[root@vm10-0-0-19 nginx-1.10.1]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp: overwrite ‘/usr/local/nginx/sbin/nginx.bak’? Y
注意:上面说,是否覆盖文件,我就直接回车 了。所以导致执行很多遍都不行。所以:一定要输入Y确认覆盖,才可以的。
5:将新的 nginx 覆盖旧安装目录
cp objs/nginx /usr/local/nginx/sbin/nginx
6.测试一下配置文件是否正确
/usr/local/nginx/sbin/nginx -t
然后重新启动服务器