CentOS 7.5 安装及启动 Nginx

背景

一直使用nginx做的网站端口分发,但是一些安装的命令或者配置的命令都记不住(或许根本不用记)。

所以,在这里进行记录一下安装和配置的过程,结果的话,因为我的网站已经在使用了,而虚拟机我又不想去安装一台新的去测试。所以暂时就先罗列和解释一下各个命令吧,以后有时间再去把截图什么的都补上。

另外,这里声明一下,如果有哪位小伙伴发现那条命令的解释上说的不严谨或者错的,欢迎指正,我会以最快速度修改。

开始

首先,不管安装什么软件,都是需要安装包的,没有安装包你休想成功安装软件。那么这个安装包在哪里获得呢?

这还用我说么,当然是“百度”啊。当然了如果不想在百度搜到的各种版本的海洋里畅游,那么就直接去官网下载。这里贴出官网地址Nginx官网
image.png
可以看到,通过上面的链接访问之后,页面的最开始就是这个。当然小伙伴看到的可能和我的截图上的不一样,毕竟软件包都是会更新的,版本号也不会一直是一个。

那么这里呢,我们别的不用看,直接选择Stable version就可以,因为这是最稳定的版本。而可以看到每种版本中都有多种平台的版本,中间的就是linux版本,而有Windows的就是Windows版本。至于怎么选择就看小伙伴们的环境了。这里我选择的是linux版本,因为是安装在云服务器上的。

=====================
=   等待下载完成   =
=====================

下载完成后,就是将软件包上传至服务器。这一步的话,请自行百度吧,百度上的资料还是非常多的。

当安装包上传至服务器后,就需要进行解压了,因为下载安装包是二进制文件的压缩包.tar.gz。我们可以使用tar命令进行解压:

tar -zxf nginx.tar.gz

这里说明下参数都代表着什么含义:

  • -z 通过gzip指令操作文件
  • -x 设置模式为将文件从包裹中释放出来
  • -f 指定要操作的文件

解压出来就是一个目录,在这个目录里面存放的就是所有的二进制文件。

然后。。。

在安装软件之前,先要安装一些依赖的环境,毕竟一个软件也是会依赖一些其他的组件的。那么我们要安装的是那些呢?

  • gcc gcc-c++ : 一个GNU的编译组件库,包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
  • zlib zlib-devel : 包含一些开发的组件库
  • openssl openssl-devel : 一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。如果你的nginx要开启ssl的话,那么这个包是一定要安装的。
  • pcre pcre-devel : 一个Perl库,包括perl兼容的正则表达式库。

所以,基于上面的组件,可以使用两条命令去全部安装完成(如果你用的是yum源的话,因为我用的是yum源):

yum -y install gcc gcc-c++ autoconf automake make
yum install -y zlib zlib-devel openssl openssl-devel pcre pcre-devel

====================
=   等待安装完成   =
====================

那现在依赖的各种组件库都已经安装完成了,接下来就是安装和启动我们的nginx了。

首先,回到我们之前解压缩的nginx目录中,我们可以直接使用这条命令进行编译和安装:

./configure --prefix=/usr/local/nginx 
# 指定nginx安装目录是在/usr/local/nginx下,可以修改为自己的目录,不过最好不要有中文,可能会引起乱码

--with-http_ssl_module
# 那如果需要开启ssl的话,就可以把上面这条命令追加到第一条命令后面就可以了。

====================
=   等待编译完成   =
====================

编译安装完成后,就可以开启了,因为我的nginx是安装在/usr/local/nginx目录下的。所以我可以使用下面的命令进行启动:

/usr/local/nginx/sbin/nginx

# 其他nginx命令
# 关闭nginx
/usr/local/nginx/sbin/nginx -s stop
# 重载nginx
/usr/local/nginx/sbin/nginx -s reload
# 检查nginx配置文件中的配置是否是正确的
/usr/local/nginx/sbin/nginx -t
# 如果是ok successful,那就说明配置文件是没有错误的。

现在,启动成功了。可以通过ip地址访问nginx了。

image.png

注:这是从网上找的图片,因为我的是配置完的,就不贴出来了。

当然,如果以上操作做完了,发现nginx并没有启动,那么有可能是配置文件有错误,没有编译通过。或者哪个组件没有安装。如果发现nginx启动成功,但是页面没有访问到,那么你可以考虑看看防火墙是否关闭或者需要开启防火墙的话,nginx的端口是否同行。如果你的nginx是和我一样配置在云服务器上的话,那么就需要在云服务器的后台上添加开放端口。

# nginx 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×