centos7下编译nginx1.19.0

Posted baobeinan0302

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下编译nginx1.19.0相关的知识,希望对你有一定的参考价值。

安装所需插件

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

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装 。

openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。

安裝nginx

1、下载nginx安装包

wget http://nginx.org/download/nginx-1.19.0.tar.gz  

2、把压缩包解压到usr/local/

tar -zxvf  nginx-1.19.0.tar.gz

3、切换到cd /usr/local/nginx-1.19.0/下面
执行三个命令:

./configure  //用来生成 Makefile,为下一步的编译做准备

make  //编译

make install  //进行安装

检查并启动

  1. 检查Nginx配置
/usr/local/nginx/sbin/nginx  -t
  1. 启动Nginx
/usr/local/nginx/sbin/nginx
  1. 查看ip
ifconfig

在浏览器中输入ip地址,查看nginx服务 (若无效,可以关闭防火墙:systemctl stop firewalld.service)

Nginx常用命令

启动:/usr/local/nginx/sbin/nginx

快速关闭:/usr/local/nginx/sbin/nginx  -s  stop 

关闭:/usr/local/nginx/sbin/nginx  -s  quit

重启: /usr/local/nginx/sbin/nginx  -s  reopen

重载配置:/usr/local/nginx/sbin/nginx  -s  reload

配置检查:/usr/local/nginx/sbin/nginx  -t

搭建静态站点

首先将blog.tar.gz移动到root下,并进行解压。

tar zxvf blog.tar.gz

进入/usr/local/nginx/conf/nginx.conf下进行配置。

使用ip查看页面,在浏览器中输入ip地址,查看nginx服务 ,查看ip的方式同上。

常见问题及解决办法

遇到问题:

在解压安装包时出现

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

的错误。错误原因为该压缩包在下载时并没有安全下载成功或者该源码包在下载过程中被破坏 。即:

没有下载完成就放弃下载,导致出现错误。

解决方法:

将该文件重新下载几次,直到100%下载完成为止。

遇到问题:

在打开nginx时出现

的问题,查找资料后发现是该端口被占用,也可能是上次启动nginx后没有关闭再次启动。

解决方法:

根据Nginx配置文件查看配置的端口(使用的是80端口) netstat -ntlp|grep 80 ,然后根据端口查看端口占用情况 并使用kill命令杀死该进程。

遇到问题:

在搭建站点时,配置完成之后打开会报403 forbidden的错误。

解决方法:

一、由于启动用户和nginx工作用户不一致所致

  • 将nginx.config的user改为和启动用户一致 。

二、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

  • 修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
chmod -R 777 /root

chmod -R 777 /root/blog/

三、SELinux设置为开启状态(enabled)的原因。

  • 将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
vi /etc/selinux/config
  • 将 SELINUX=enforcing 改为SELINUX=disabled。
  • 重启生效。
reboot。

参考资料

1,[四种解决Nginx出现403 forbidden 报错的方法]( (5条消息) 四种解决Nginx出现403 forbidden 报错的方法_shadow_zed的博客-CSDN博客 )

2,编译安装nginx并搭建静态站点

3,CentOS下源码编译安装Nginx1.19.0(Nginx搭建静态站点)

4,Nginx最基本最常用操作

5,centOS7安装nginx及nginx配置

以上是关于centos7下编译nginx1.19.0的主要内容,如果未能解决你的问题,请参考以下文章

Centos7 下编译 Openjdk8

CentOS7下编译Hadoop

centos7下编译安装nginx并实现日志轮替

centos7下编译Redis6.0

centos7下编译Redis6.0

centos7下编译Redis6.0