赞
踩
记录一下信安实训期间在Ubuntu中配置nginx的流程,帮有需要的同学避避坑。
在一切开始前,我们先介绍一下nginx的卸载命令,便于大家删除之前安装失败的nginx(滑稽)
- #注意这是彻底的卸载nginx
- apt-get --purge autoremove nginx
- #gcc编译器是否安装
- sudo apt-get install gcc
-
- #pcre库是否安装
- sudo apt-get install libpcre3 libpcre3-dev
-
- #zlib库是否安装
- sudo apt-get install zlib1g zlib1g-dev
-
- #openssl库是否安装
- sudo apt-get install openssl
-
- sudo apt-get install libssl-dev
- cd /usr/local
- mkdir nginx
- cd nginx
- wget http://nginx.org/download/nginx-1.10.3.tar.gz
- #注意,如果weget失败,这里也可以选择将其他途径下好的包直接放在nginx文件下
- tar -xvf nginx-1.18.0.tar.gz
- #解压
- # 进入nginx目录
- /usr/local/nginx/nginx-1.13.7
- # 执行命令
- ./configure
- # 执行make命令
- make
- # 执行make install命令
- make install
【重点】这里的编译环节是一定会报错的!!!
不过没关系,我已经替各位整理好了对应的解决方法(有被自我感动)
报错一:
解决方案:
删去 Makefile 中的 -werror
进入目录:/usr/local/nginx/nginx-1.10.3/objs 修改Makefile文件
- cd /usr/local/nginx/nginx-1.10.3/objs
-
- sudo vim Makefile
-
- #vim中,按下“i”,在光标处编辑
- #按顺序按下”Esc"、":"后输入 "wq!" 保存
报错二:
解决方案:
注释/usr/local/nginx/nginx-1.10.3/src/os/unix/ngx_user.c文件中第36行处代码
- cd /usr/local/nginx/nginx-1.10.3/src/os/unix
-
- sudo vim ngx_user.c
按照以上两次操作,恭喜你顺利执行完make命令,接下来执行make install命令后即可开始准备解决新的报错!(开心)
- #进入nginx启动目录
- cd /usr/local/nginx/sbin
- # 启动nginx
- ./nginx
- #如果启动报错没有权限,请使用sudo
- #sudo ./nginx
报错要来了哦~
各位准备好迎接了吗?
报错一:端口占用
在上图中是8080端口被占用了,每个人具体的端口可能不一样,但是没关系,方法都是一致的
- #使用lsof查看端口使用情况
- lsof -i:80
-
- #什么?你没装lsof?
- #apt-get install lsof
这里只是做个示范,使用kill -9 命令杀死占用的进程
- sudo kill -9 7839
- #注意,最后跟的是进程的PID号,不是端口号
报错二:火狐浏览器无法打开网页提示Secure Connection Failed
装完nginx,打开火狐浏览器访问127.0.0.1出问题了,提示Secure Connection Failed,这其实并不是你网络的问题。
第一步:在火狐浏览器地址栏中输入 about:config 后回车,在得到的页面中点击下方的蓝色按钮。
第二步:在跳转的页面中搜索 security.ssl.enable_ocsp_stapling ,并双击搜索到的这条记录,即可将value值由true改为false。
第三步:现在再访问刚才无法访问的网站,就会发现页面正常了!
报错三:不能访问指定端口
在完成刚才的两个报错修复后,发现登录127.0.0.1依旧没反应,此时则有可能是防火墙没有开始对应的端口访问。
解决方案:
1.安装一个防火墙(firewall)然后添加端口至允许通过的名单内,
sudo apt-get install firewalld
2.查看一下目前的端口情况:
firewall-cmd --list-all
发现ports处确实为空
3.添加端口
firewall-cmd --add-port=8080/tcp --permanent
#重启防火墙
firewall-cmd --reload
4. 查看防火墙开放的端口
firewall-cmd --list-all
此时允许通过的端口号里依旧出现了8080
最后,此时屏幕前的你应该可以顺利访问127.0.0.1,查看nginx欢迎页面了!(鼓掌)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。