计算机网络/计算机科学与应用/系统/运维/开发

3、编译安装Nginx

一、在Windows平台下安装Nginx

通过官网下载 win版本解压后如下

image.png

目录说明:

conf目录中存放的是Nginx服务器的配置文件,包含Nginx服务器的基本配置文件和对部分特性的配置文件

docs目录中存放了Nginx服务器的文档资料,包含Nginx服务器的LICENSE、OpenSSL的LICENSE、PCRE的LICENCE以及zlib的LICENSE,还包括本版本Nginx服务器升级的版本变更说明,以及README文档

html目录中存放了两个后缀名为.html的静态网页文件

logs目录中存放了Nginx服务器的运行日志文件

nginx.exe即为启动Nginx服务器的运行程序。如果conf目录下的nginx.conf文件配置正确,通过它即可完成nginx服务器的启动操作


参考文档:https://nginx.org/en/linux_packages.html#RHEL-CentOS


二、在Linux平台下安装Nginx

编译Nginx源代码,需要标准的GCC编译器

GCC的全称为GNU Compiler Collection,其由GNU开发,并以GPL及LGPL许可证发行,是自由的类UNIX及苹果电脑Mac OS X操作系统的标准编译器。

因为GCC原本只能处理C语言,所以原名为GNU C语言编译器,后来得到快速扩展,可处理C++、Fortran、Pascal、Objective-C、Java以及Ada等其他语言。

还需要Automake工具,以完成自动创建Makefile的工作

由于Nginx的一些模块需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)等。

Fedora的安装光盘中包含了以上提到的软件和第三方库,如果在安装Fedora时选择了安装以上软件,则可以略过;


如果没有,可以进行在线安装:

# yum -y install gcc gcc-c++  automake pcre pcre-devel zlib  zlib-devel open openssl-devel



# 安装步骤

1、在文件系统的根目录“/”下新建Nginx_123目录,最后会把编译好的Nginx安装到此目录中。

同时,在此目录中新建Nginx_123_ Compile,用来编译Nginx软件

# mkdir /Nginx_123/



2、复制Nginx 

# cp nginx-1.2.3.tar.gz /Nginx_123/



3、解压Nginx 

# tar xf nginx-1.2.3.tar.gz   //解压归档文件

# cd /Nginx_123/nginx-1.2.3

# ls -l
总用量 572
drwxr-xr-x. 6 1001 1001  4096 1月  7 10:45 auto
-rw-r--r--. 1 1001 1001 212690 11月 13 21:36 CHANGES
-rw-r--r--. 1 1001 1001 324135 11月 13 21:36 CHANGES.ru
drwxr-xr-x. 2 1001 1001  4096 1月  7 10:45 conf
-rwxr-xr-x. 1 1001 1001  2369 8月  7 2012 configure
drwxr-xr-x. 3 1001 1001  4096 1月  7 10:45 contrib
drwxr-xr-x. 2 1001 1001  4096 1月  7 10:45 html
-rw-r--r--. 1 1001 1001  1397 8月  6 2012 LICENSE
-rw-r--r--. 1 root root   374 1月  7 14:48 Makefile
drwxr-xr-x. 2 1001 1001  4096 1月  7 10:45 man
drwxr-xr-x. 3 root root  4096 1月  7 14:48 objs
-rw-r--r--. 1 1001 1001    49 10月 31 2011 README
drwxr-xr-x. 8 1001 1001  4096 1月  7 10:45 src


目录介绍:

src目录中存放了Nginx软件的所有源代码

man目录中存放了Nginx软件的帮助文档   #man nginx 

html目录和conf目录中存放的内容和Windows版本的同名目录相同

auto目录中存放了大量脚本文件,和configure脚本程序有关

configure文件是Nginx软件的自动脚本程序。


# Nginx源代码的编译需要现使用configure脚本自动生成Makefile文件

image.png

image.png

image.png

image.png


将当前工作路径定位到/Nginx_123/Nginx_123_Compile/nginx-1.2.3/目录之后

# ./configure --prefix=/Nginx

--prefix指定了Nginx软件的安装路径为之前新建的Nginx目录,其他的设置使用默认设置

在运行过程中,configure脚本调用auto目录中的各种脚本对系统环境以及相关的配置和设置进行了检查。


注意:

生成的Nginx软件的Makefile文件就保存在当前的工作目录,即/Nginx_123/Nginx_123_Compile/nginx-1.2.3/中,可以使用ls指令查询



# Linux版本的编译和安装:Nginx源代码的编译和安装

当前工作路径仍为/Nginx_123/Nginx_123_ Compile/nginx-1.2.3/目录,使用make命令进行编译:

#make



编译顺利完成以后,使用make的install命令安装Nginx软件:

#make  install


命令运行完成后,将当前工作目录定位到/nginx下,可以对Nginx服务器安装后的全部资源进行查看:

#cd /Nginx;
#ls -l
总用量 36
drwx------.  2 nobody root 4096 1月  7 14:52 client_body_temp
drwxr-xr-x.  2 root  root 4096 1月  9 17:11 conf
drwx------.  2 nobody root 4096 1月  7 14:52 fastcgi_temp
drwxr-xr-x.  2 root  root 4096 1月  7 14:48 html
drwxr-xr-x.  2 root  root 4096 1月  18 11:46 logs
drwx------. 12 nobody root 4096 1月  7 16:06 proxy_temp
drwxr-xr-x.  2 root  root 4096 1月  7 14:48 sbin
drwx------.  2 nobody root 4096 1月  7 14:52 scgi_temp
drwx------.  2 nobody root 4096 1月  7 14:52 uwsgi_temp



注意:

在没有改动源代码的情况下如果需要重新编译和安装Nginx软件,就不必再使用configure脚本自动生成Makefile了。可以先使用以下命令删除上次安装的Nginx软件:

#rm -rf /Nginx/*


定位到nginx-1.2.3.tar.gz解压目录,清除上次编译的遗留文件

#cd /Nginx_123/Nginx_123_Compile/nginx-1.2.3/;  make clean



再使用以下命令进行编译和安装

#make;  make install


安装好了一个最基本的Nginx服务器,其安装路径为/Nginx目录:

 #ls *
    conf:
    fastcgi.conf    fastcgi_params    koi-utf  mime.types     nginx.conf
    scgi_params   uwsgi_params    win-utf    fastcgi.conf.default
    fastcgi_params.default
    koi-win   mime.types.default   nginx.conf.default   scgi_params.default
    uwsgi_params.default
    html:
    50x.html  index.html
    logs:
    access.log  error.log
    sbin:
    nginx


Nginx服务器的安装目录中主要包括了conf、html、logs和sbin等4个目录:

conf目录中存放了Nginx的所有配置文件

nginx.conf文件是Nginx服务器的主配置文件

html目录中存放了Nginx服务器在运行过程中调用的一些html网页文件

logs目录,顾名思义,是用来存放Nginx服务器的日志的。

最后是sbin目录,目前其中只有nginx一个文件,这就是Nginx服务器的主程序了


三、Linux安装详细步骤

1、下载nignx

# wget  http://nginx.org/download/nginx-1.14.0.tar.gz


2、解压nginx

# tar  zxvf   ngxin-1.14.0.tar.gz


3、验证

进入解压的nginx目录 
# cd  nginx-1.14.0


创建一个目录.vim
# mkdir  ~/.vim
# cp -r  contrib/vim/* ~/.vim/


通过vim查看nginx配置文件 显示高亮
# vim conf/nginx.conf


4、编译nginx

# ./configure --prefix=/usr/local/nginx


如果出现错误:

./configure:error:the HTTP  rewrite module ..

解决方法:

# yum -y install openssl  openssl-devel

然后再次执行编译

# ./configure --prefix=/usr/local/nginx


5、编译

# make


6、安装

make install


7、启动nginx

启动前先关闭防火墙

#  systemctl  stop firewalld.service


进入nginx/sbin目录下

# ./nginx -s reload


如果出现错误:

nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)


解决方法:

#  /usr/local/nginx/sbin/nginx  -c  /usr/local/nginx/conf/nginx.conf


再次从新启动即可:

# ./nginx -s reload


扩展:如果用vim打开nginx配置文件 没有语法颜色区分操作如下

# mkdir ~/.vim
# cp -r contrib/vim/* ~/.vim/


最后通过ip进行浏览器访问!


nginx

人生在世,不如意事十之八九;人生的滋味,哪怕是酸甜或苦辣,也要靠自己去品。人活一口气:气质看一个人的过去,气度看一个人的未来

评论

^