Linux安装Nginx详细教程

Nginx是一款轻量级Web服务器,也是一款反向代理服务器

官网:nginx news

中文文档: Nginx中文文档

下载地址:nginx: download  Stable version就是它的稳定版本

环境准备

1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。

命令:yum install gcc-c++

2.Nginx的http模块需要使用pcre来解析正则表达式,需要安装pcre。

命令:yum install -y pcre pcre-devel

3.安装依赖的解压包。

命令:yum install -y zlib zlib-devel

4.ssl 功能需要 openssl 库,安装 openssl。

命令:yum install -y openssl openssl-devel

下载Nginx

官网下载:http://nginx.org/en/download.html

这里下载的版本是1.18.0

Nginx官方提供了三个类型的版本:

Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版

Stable version:最新稳定版,生产环境上建议使用的版本

Legacy versions:遗留的老版本的稳定版

我们选择Stable version

或者直接在linux执行命令:wget http://nginx.org/download/nginx-1.18.0.tar.gz

下载完成后,将Nginx压缩包移动到Linux的待安装目录中。我这里是 /usr/local/nginx

删除文件命令:rm -rf 目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

解压安装

1.解压Nginx:tar -zxvf nginx-1.18.0.tar.gz  (-v: --verbose 详细显示进行的步骤)

解压完成后,同目录下会生成Nginx的文件夹

修改文件夹名称:mv nginx-1.18.0 nginx 将nginx-1.18.0文件夹的名称改为nginx

2.依次执行以下命令:

①进入解压后的文件夹: cd /usr/local/nginx

②配置configure: ./configure --prefix=/usr/local/nginx

③编译: make

④安装: make install

配置nginx.conf

输入命令:vim /usr/local/nginx/conf/nginx.conf

默认端口是80,因为可能会和Apache使用的端口冲突,需要修改的就修改,例如这里可以改为8089;server_name修改为Linux的IP地址就可以。

server {undefined

listen 8089;

server_name 192.168.252.101;

location / {undefined

...

}

...

}

Nginx常用命令

测试配置文件:${Nginx}/sbin/nginx -t

启动命令:${Nginx}/sbin/nginx

停止命令:${Nginx}/sbin/nginx -s stop/quit

重启命令:${Nginx}/sbin/nginx -s reload

查看进程命令:ps -ef | grep nginx

平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)]

./nginx -t # 验证配置文件是否能正常启动

./nginx #启动nginx

./nginx -s quit #正常停止

./nginx -s stop #快速停止

./nginx -s reload #重新加载

./nginx -V #查看版本信息

查找安装路径:whereis nginx

启动Nginx

  • mkdir logs

    chmod 700 logs

    先执行上面两行命令,否则会启动报错:

    启动报错:

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

    分析原因:nginx/目录下没有logs文件夹

    解决方案:创建文件夹并授权

    验证: 输入以下命令

    /usr/local/nginx/sbin/nginx -t

    正常情况的信息输出:

    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

  • 进入 /usr/local/nginx/sbin 目录,执行命令:./nginx 启动Nginx:

②查看Nginx进程是否启动:ps -ef | grep nginx

③关闭防火墙

若想使用外部主机连接上虚拟机访问Nginx,需要关闭虚拟机的防火墙。

centOS6及以前版本使用命令: systemctl stop iptables.service

centOS7关闭防火墙命令: systemctl stop firewalld.service

我这里使用的是CentOS7版本。

④随后访问该ip即可看到Nginx界面

至此,Nginx在Linux虚拟机上安装完成。