- 安装 nginx 之前需要先安装好相关依赖
nginx 的一些模块需要引用一些 lib 库,主要包括 g++,gcc,openssl-devel,pcre-devel 和 zlib-devel等,执行如下命令即可安装:yum -y install g++ gcc openssl openssl-devel pcre-devel zlib zlib-devel
- 下载并解压安装包
// 安装在 /usr/local 目录下 cd /usr/local //从官网下载最新版安装包 wget http://nginx.org/download/nginx-1.17.8.tar.gz //解压压缩包 tar -zxvf nginx-1.17.8.tar.gz
不知道大家有没有疑惑就是 wget 后面这个地址从哪里得到的?
网上很多教程都是直接写上来了,好像是从天上掉下来的一个东西一样,我这里提供一个方案,个人觉得不是很好,但是可以参考一下,如果大家有更好的方案,希望能在留言区告诉我,不甚感谢。
1:首先我们进入 nginx 官网
2:选择最新版本的 nginx
3:右键选择复制链接,复制完之后就可以直接放到 wget 之后使用了-
现在我们已经拿到最新的软件包并解压了,下面就是安装了
1:执行完上面的步骤之后,我们此时应该在 /usr/local 目录下,该目录包含已经解压好的 nginx 目录
2:进入 nginx-1.17.8 编译安装
//进入 nginx-1.17.8 目录 cd nginx-1.17.8 //构建,这个词有点高大上,等会再解释 ./configure //编译 make //安装 make install
好,我们现在可以研究下构建、编译和安装这三个命令都是干嘛的!
./configure
网上好多都是直接贴上来也没有解释这句话有啥用,可是既然要用,nginx 应该告诉我们是要干嘛吧,出于直觉我去看了下 README有没有告诉我
好,很容易就看懂了,不过它又告诉我看它没有用,官方文档才靠谱,(kuzidoutuole,你给我看这个?),好吧,只能选择原谅它,继续去官方文档找找看
好,我终于找到个有用的了,简单介绍下就是,./configure 它就是个命令,它可以带很多参数来对 nginx 进行配置,并且最后它还会生成一个文件 Makefile。简单找几个参数介绍下:
--prefix=path 该参数用来指定保留服务器文件的目录,我就简单把它理解为 nginx 的安装目录了,然后它默认为 /usr/local/nginx, 这也就是你什么都不配置,它自动就会生成一个 nginx 目录的原因呀!
--sbin-path=path 该参数用于设置可执行文件的名称,默认为 prefix/sbin/nginx, 即安装完成之后进入prefix/sbin目录执行 ./nginx 就能启动 nginx
--conf-path=path 该参数用于指定配置文件的名称,默认为 prefix/conf/nginx.conf, 可以在该文件中进行相关配置
剩下还有大概几百个参数,有兴趣的可以自己看下,然后文末还有使用例子可以参考下:
然后我执行 ./configure 可以看下结果:
可以看到,因为我自己没有做配置,所以所有的配置都是默认的,然后还生成了 Makefile 文件,有兴趣的可以去研究下 Makefile 文件
make
make用来编译的,它从Makefile中读取指令,然后编译。
make install
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
-
- 此时已经安装好了,需要配置下 nginx.conf
vi /usr/local/nginx/conf/nginx.conf
找到 server 修改默认的端口号,因为默认的 80 会跟 apache 占用 80 端口冲突,当然也可以设置监听多个端口,如下所示监听了 8090 和 8091 两个端口:
配置完成之后可以在 /usr/local/nginx/sbin 目录下执行命令 ./nginx -t 检查配置文件是否正确,如下: - 启动 nginx
//进入启动脚本所在目录 cd /usr/local/nginx/sbin //启动 nginx ./nginx
- 至此,nginx 安装启动完成!但是还没完!
1:服务器默认防火墙是开启的,要想从外部访问,必须关闭防火墙,下面三条命令可以用来操作防火墙
//关闭防火墙 sudo systemctl stop firewalld //查看防火墙状态 sudo systemctl status firewalld //开启防火墙 sudo systemctl start firewalld
如下图所示,状态为 inactive 的时候,表示防火墙已经关闭,状态为 active 的时候,状态为开启
2:此时可以试着在浏览器通过IP和端口号来访问,刚刚我们设置监听的是8090和8091端口,那么就可以访问这个端口,如下,出现以下页面表示安装成功:
3:如果没有出现上面的页面,则可以 ping 一下 ip 地址,telnet 一下端口号,看看是不是都是好的,如果你用的是阿里云的服务器,那么你要在阿里云上把对应端口给开放了,如下:
我上面是开通了8090-8099这个范围的接口,你也可以自己根据需要选择适合自己的
4:有时候使用 ./nginx -s reload 会报如下错误:
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
这是因为当我们停止 nginx 的时候会把 nginx.pid 这个文件删掉,所以会找不到这个文件,此时就不要用重启命令了,只用用 ./nginx 启动命令来启动 nginx 就可以了,它会生成该文件,即只有在 nginx 在启动中这个状态下才可以直接使用 ./nginx -s reload 命令来重新加载配置文件。
5:nginx 常用简单命令://启动 nginx ./nginx //重新加载配置文件(不停止 nginx 服务的情况下加载新的配置) ./nginx -s reload //停止 nginx ./nginx -s stop //测试 nginx 配置是否有语法错误 ./nginx -t //查看 nginx 版本 ./nginx -v //获取帮助信息 ./nginx -h
- END
nginx 安装步骤详解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.