linux环境下安装nginx教程
1、RHEL/CentOS系列自带的源里是没有nginx的安装包的扯裕羞,如下面图中所示,在一个刚装好的CentOS系统里,直接使用命令:
yum install nginx -y
来安装的时候,会提示你没有这个安装包。
2、但是CentOS的基础源CentOS-Base里面的extra包部分,里面包含了epel-relase的源包。epel-release是RHEL发行版的一个补充软件包仓库,这里有nginx的安装包。因秤牺此随凤,我们首先要安装epel-release,命令如下:
yum install epel-release -y
结果如下,可以看到安装包只有15K,安装速度非常快。
3、看到提示安装完成后,我们查看一下/etc/yum.repos.d/目录下,可以看到这个目录下面多了两个文件,分别是epel.repo和epel-testing.repo,这两个文件就是epel的yum源地址和测试地址。
4、epel的yum源地址配好以后,我们就来安装nginx,命令是:
yum install nginx -y
这个时候我们就看到会解析epel的yum源地址,然后就会安装一系列依赖包以及nginx 软件包。安装完成后如下面第二张图所示:
5、安装完成后,我们先在防火墙上放行nginx要用到的80端口,命令是:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
6、防火墙上端口放行完毕后,我们启动nginx,启动的命令是:
nginx
启动后,使用命令:
ps aux | grep nginx
可以看到确实有nginx进程在运行。
7、最后通过浏览器访问对应的ip地址,如果能看到下面的图说明配置正确。
1、打开浏览器,在百度上搜索nginx,然后找到nginx的官网,点击进去,在官网页面右边有个download链接。点击download链接。
2、这个时候会自动跳转到下载页面,在页面中我们看到默认的稳定版本(stable version)已经是1.14.0版本了,比我们刚才使用epel的yum源安装的版本要新,这次我们就下载这个版本的源码来编译安装。点击nginx-1.14.0,然后会自动弹出下载链接。
3、我们耐心等待源码包下载完毕,然后使用winscp工具将下载好的源码包上传到刚才要安装nginx的linux服务器上面去。winscp工具的使用,大家看其他教程就好了,这里就不过多赘述了。上传完毕后,如下面途中所示,可以看到红色字体表示的nginx-1.14.0.tar.gz源码包。但是一般情况下,我们都不会把源码包放在root目录下,我们在/opt目录下创建一个nginx目录来存放,命令依次是:
mkdir /opt/nginx
mv nginx-1.14.0.tar.gz /opt/nginx
将源码包转移过去。
4、然后我们再切换到/opt/nginx目录下,将源码包解压出来。命令是:
cd /opt/nginx
tar xf nginx-1.14.0.tar.gz
解压出来的是一个nginx-1.14.0的目录,切换到这个目录下,可以看到有个configure的绿色文件,这个就是待会要用到的编译文件。
5、但是因为nginx需要比较多的依赖,因此在编译之前,我们还要安装一些依赖包。命令是:
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
我们耐心等待依赖包安装完毕。
6、依赖安装完成后,我们开始编译安装,命令是:
./configure --prefix=/opt/nginx
--prefix的意思是将nginx编译后的程序文件放到它后面指向的目录里,比如我们这里就是/opt/nginx目录下,如果没有出错的话,第一步非常快,configure程序会自动查找对应的依赖包,找到了,就显示found。
7、等待第一步配置信息生成完毕后,会显示出各种文件对应的目录,比如nginx binary file,即nginx的二进制文件位置是/opt/nginx/sbin/nginx等等一系列信息。
8、没有出错的话,我们就开始安装了,命令是
make && make install
这个命令一执行,屏幕会刷新的非常快。输出很多编译信息。如果没有出错,编译过程就不会显示error字样的提示信息。最后会显示 leave directory字样,即编译成功。
9、这个时候我们查看一下/opt/nginx目录,我们可以看到。除了刚才转移过来的nginx-1.14.0.tar.gz压缩包和解压出来的nginx-1.14.0目录,多了几个目录,分别是conf、html、logs和sbin目录,里面保存的分别是nginx的配置文件、网页文件、日志文件和二进制文件。
10、刚才第一步编译的时候最后的提示信息是二进制文件保存在sbin目录下,我们查看一下sbin目录。确实可以看到绿色的nginx可执行文件,如下面第二张图所示。我们切换到sbin目录下,命令是:
cd /opt/nginx/sbin
然后执行命令
./nginx -v
可以看到版本号确实是14.0版本。说明确实是编译好的文件。
11、下一步应该是启动nginx,但是因为我们刚才通过epel的yum源安装了nginx,那个版本的nginx还没关闭。首先要关闭它,命令是
nginx -s stop
然后用ps命令查看,可以看到,没有多余的nginx进程在运行。
12、然后我们就可以启动刚编译好的nginx了,命令是:
./nginx
启动后用ps命令查看,可以看到只有2个nginx进程在运行。
13、这个时候我们打开这台主机的网页,但是却发现它显示和原来还是一样,如下面图中所示:
14、查询了一下才知道,原来nginx默认的配置文件顺序排在第一位的是/etc/nginx/nginx.conf这个文件,而这个文件来自于我们使用epel安装的nginx版本。因此配置文件不对。我们必须使用-c选项来指定/opt/nginx/conf目录下的nginx.cnf文件。命令就变成了:
./nginx -c /opt/nginx/conf/nginx.conf
启动完毕后,再打开网页查看,这个时候显示的信息就是正确的,如下面第二张图所示: