自定义搭建一个nginx服务器

前两天做系统迁移,因此需要在服务器上部署一个nginx服务器用来存放前端服务器文件,而根据要求需要自定义安装nginx服务器,如果使用yum install nginx进行安装,有关nginx服务器的配置文件无法受自己的掌控,因此必须要自定义搭建。自定义搭建服务器的步骤如下:
1、从官网下载nginx的压缩包到指定位置,一般会在/root文件夹下创建tools文件夹,用来存放所有需要用到的压缩包,然后再创建一个文件夹server用来存放服务器的所有文件,如下图所示:01.png

现在需要下载nginx服务器的压缩包,而这需要使用wget命令,而有些时候并没有在centos预装wget命令,如下图所示:02.png

如果没有预装的话,需要使用yum命令去安装(yum只是centos系统的软件包管理器,如果是其他的话应该也有对应的软件包管理器,比如ubuntu的apt,以及rpm等。)具体命令是yum install wget(有时候没有权限,需要使用sudo权限才能下载),下载过程如下图所示:03.png

nginx服务器的官方地址是:http://nginx.org/download/nginx-1.18.0.tar.gz,直接输入wget http://nginx.org/download/nginx-1.18.0.tar.gz 命令就可以下载了,如下图所示:04.png
而接下来需要对压缩包进行解压,如下图所示:05.png
而解压之后的nginx包还未经编译,因此需要对其进行编译和配置,首先输入./configure --prefix=/root/server/nginx
,之所以要用congifure命令是因为nginx解压之后有个configure的可执行文件,而对这里面的值进行更改就可以修改一些配置,具体的配置网上一搜索就有了,这里我只用了一个最基本的–prefix=PATH,将编译之后的文件解压到指定文件夹下。06.png
使用./configure --prefix=/root/server/nginx命令时可以发现有的服务器上会报出
./configure: error: C compiler cc is not found错误,这个错误是说c编译器没有被发现,因此只需要用yum安装一个c编译器就可以了,具体命令是yum install gcc。
./configure: error: the HTTP rewrite module requires the PCRE library错误,这个错误是说没有PCRE library,这个错误需要安装pcre-devel,即pcre开发包(devel在linux上是开发包的意思),具体命令时yum install pcre(如果显示已经安装pcre,则需要安装pcre-devel)
./configure: error: the HTTP gzip module requires the zlib library错误,这个错误是说没有zlib library,这个错误需要安装zlib-devel,具体命令是yum install zlib(如果显示已经安装zlib,则需要安装zlib-devel)
解决掉这些错误之后,一般就没有其他错误了,如果有一般也只要安装对应的包就可以了。而配置完成之后会有如下图的显示:
07.png

接下来的代码是,make && make install(其实也可以做两个命令来用,但是这里我就做一个用了)。
有的centos也会发现没有make命令,这里也需要下载一下make命令,具体命令是yum install make。
使用make&&make install之后成功安装的代码如下图所示:
08.png

而进入/root/server目录下会发现已经有了nginx文件夹,这说明已经编译好了nginx。由于是自定义的,需要配置一下才能访问nginx服务器,其实主要是将user配置成开启服务时的用户名就可以了,这里我是直接用的root用户,因此需要将用户名改成root,然后保存退出,重启nginx服务,即可以了。09.png
由于示例的nginx服务器配置是在docker里面配置的,无法直接通过外网访问,因此只能使用curl命令查看是否配置成功,如下图所示,可以看到Welcome to Nginx!的显示,则表示配置成功了:10.png
接下来将服务器代码进行单独放置,在/root目录下新建一个app文件夹,这里存放所有自己写的代码,我这里就将之前写的代码放在dist里面了。而想要让nginx服务器解析指定目录,其实只需要在nginx的nginx.conf里配置一下就可以了。如下图所示:11.png
既可以正常显示了,正常显示的图片如下所示:12.png