Nginx在Linux环境下安装

环境准备

在安装nginx之前首先需要安装一些其他的环境:gcc, PCRE库,zlib库,OpenSSL库

1、首先准备好一台虚拟机作为服务器(这里就不做虚拟机的安装介绍了),设置好该虚拟机的IP以及其他的一些配置信息,保证该虚拟机能够正常使用,现在安装阶段要将该虚拟机的网络连接模式设置为能够连接外网的模式(nat模式、桥接模式);
2、安装gcc的环境
打开虚拟机的命令窗口输入以下命令

yum install gcc-c++

输入之后按回车键就会自动联网下载所需要的文件信息,在安装的过程中中间会出现几个提示,输入y继续即可
在这里插入图片描述
3、安装PCRE环境 ,
PCRE是一个Perl库,包括Perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要在该虚拟机上安装PCRE库,安装的步骤跟gcc的安装步骤相类似
输入以下命令:

yum install -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库,nginx也需要此库
4、安装zlib,zlib库提供了跟多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux系统上安装zlib库
输入以下命令:

yum install -y zlib zlib-devel

5、安装OpenSSL,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在 linux安装 openssl 库。
输入以下命令:

yum install -y openssl openssl-devel

nginx下载

去nginx的官网下载对应的版本的nginx:http://nginx.org/
我使用的版本是 1.8.0 版本。

nginx的安装

以上环境都安装完成之后,下载好nginx的源码包我们就可以安装nginx了
1、将下载好的源码包nginx-1.8.0.tar.gz上传到linux系统
2、解压上传到linux虚拟机中的源码包

tar zxvf nginx-1.8.0.tar.gz

3、解压完成之后,进入解压之后的nginx-1.8.0目录,使用configure命令创建makeFile文件;
执行以下命令:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

执行后可以看到Makefile文件
在这里插入图片描述
4、编译
在当前创建makeFile的路径下执行以下命令:

make

5、安装,继续执行安装命令

make install

Nginx的启动与访问

经过以上的步骤nginx在linux系统上已经安装成功了,接下来我们启动已经安装好的nginx并且在Linux系统外能够访问到安装成功的nginx
1、驱动前需要在var目录下创建临时文件目录(因为上面的安装过程中将临时文件目录设置再来该目录下所以必须在该目录下创建)

mkdir /var/temp/nginx/client -p

2、创建成功之后,进入到Nginx的安装目录下的sbin目录

cd /usr/local/nginx/sbin

3、启动
执行该目录下的文件

./nginx

这样nginx就能够启动成功了。
启动之后我们现在Linux本机中测试以下是否能访问,在linux中的浏览器中输入地址:http:localhost:80,(因为80是默认的也可以不写),如果能够出先以下页面,证明安装成功了
在这里插入图片描述
这是在linux虚拟机本机中能够访问,现在我们来测试在windows下的浏览器中是否能够访问成功呢?在Windows系统中的浏览器中输入linux的ip地址查看是否能够出现和这个相同的页面
在这里插入图片描述
如果在windows系统中也能够访问到相同的页面地址就证明nginx安装成功了,大功告成!!
那么能够在Linux本机上访问到页面,而在windows系统下不能访问到页面是什么原因呢?

如果出现这样的问题首先就可以排除安装失败的问题了,因为在Linux本机中可以正常访问,这是因为Linux系统的防火墙拦截了Windows系统的请求,需要将Liunx的防火墙关闭,或者将指定的端口号开放(nginx使用的端口号是80),将该端口号放开就可以正常访问了;

这里介绍一篇关于Linux关闭防火墙和放开部门端口号的文章
https://blog.csdn.net/qq_44322555/article/details/103825771

疑问:

可能有的小伙伴就会问了,像安装tomcat,redis的时候直接将上传到Linux系统的指定文件解压不就可以使用了吗?为什么还要这么麻烦呢?
首先我们上传到Linux系统的那个nginx文件是源码包,需要将该源码包重新编译后,再执行安装,将程序安装到Linux系统上,所以步骤比较繁琐
那为什么要上传源码包重新编译安装呢?
因为我们每个人使用的Linux系统的环境尤其是编译环境可能都不太一样,如果直接将别人编译好的程序拿过来安装的话可能和自己的环境有些差别不能使用,所以为了防止意外我们是将源码拿来过再自己的Linux环境下将源码编译一次,再安装自己编译好的程序。

可能我理解的这个地方有些差别,不要喷太厉害😘

拓展:

简单介绍一下上面的makeFile文件
Makefile是一种配置文件, Makefile 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。

configure参数
./configure \
--prefix=/usr \                                                        指向安装目录
--sbin-path=/usr/sbin/nginx \                                 指向(执行)程序文件(nginx)
--conf-path=/etc/nginx/nginx.conf \                      指向配置文件
--error-log-path=/var/log/nginx/error.log \              指向log
--http-log-path=/var/log/nginx/access.log \            指向http-log
--pid-path=/var/run/nginx/nginx.pid \                      指向pid
--lock-path=/var/lock/nginx.lock \                         (安装文件锁定,防止安装文件被别人利用,或自己误操作。)
--user=nginx \
--group=nginx \
--with-http_ssl_module \                      启用ngx_http_ssl_module支持(使支持https请求,需已安装openssl)
--with-http_flv_module \                       启用ngx_http_flv_module支持(提供寻求内存使用基于时间的偏移量文件)
--with-http_stub_status_module \     启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)
--with-http_gzip_static_module \   启用ngx_http_gzip_static_module支持(在线实时压缩输出数据流)
--http-client-body-temp-path=/var/tmp/nginx/client/ \ 设定http客户端请求临时文件路径
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \ 设定http代理临时文件路径
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \ 设定http fastcgi临时文件路径
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ 设定http uwsgi临时文件路径
--http-scgi-temp-path=/var/tmp/nginx/scgi \ 设定http scgi临时文件路径
--with-pcre 启用pcre库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值