Nginx有什么用?
我们知道一个服务器只有一个80端口,如果我们有一个服务器,并且我们有多个web应用都需要使用到服务器的80端口,我们该怎么办呢?当第一个web应用使用了80端口后,其他应用就使用不了80端口,因为服务器的80端口已经被第一个web应用给占用了,为了解决多个应用在同一个服务器共同使用80端口,我们可以利用Nginx。
在Centos服务器下安装Nginx
安装Nginx前的环境准备
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
1 | $ yum install gcc-c++ |
开始安装Nginx
安装之前,最好检查一下是否已经安装有nginx
1 | $ find -name nginx |
如果系统已经安装了nginx,那么就先卸载
1 | $ yum remove nginx |
首先进入/usr/local目录
1 | $ cd /usr/local |
从官网下载最新版的nginx,可以进入官网寻找最新版本
1 | $ wget http://nginx.org/download/nginx-1.15.8.tar.gz |
解压nginx压缩包
1 | $ tar -zxvf nginx-1.15.8.tar.gz |
会产生一个nginx-1.15.8 目录,这时进入nginx-1.15.8目录
1 | $ cd nginx-1.15.8 |
接下来安装,使用–prefix参数指定nginx安装的目录,make、make install安装,命令如下:【如何系统提示./configure: error: the HTTP gzip module requires the zlib library. 则再安装库,命令为yum install -y zlib-devel】
1 | $ sudo ./configure --prefix=/usr/local/nginx #这一步需要按需要添加编译参数 |
如果没有报错,顺利完成后,最好看一下nginx的安装目录
1 | $ whereis nginx |
安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。
到此,使用CentOS安装nginx已经完成了!
## 启动 先测试一下配置文件是否正确:
1 | $ /usr/local/nginx/sbin/nginx -t |
无问题可以启动:
【如果使用netstat -ltunp命令,可以看到0.0.0.0:80端口被httpd这个进程占用了,
如何解决服务器的80端口被httpd占用,可以先让它httpd结束,命令为service httpd stop ; 启用httpd的命令为service httpd start】
1 | $ /usr/local/nginx/sbin/nginx |
检查是否启动成功:
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
部分命令如下:
重启:
1 | $ /usr/local/nginx/sbin/nginx –s reload |
停止:
1 | $ /usr/local/nginx/sbin/nginx –s stop |
测试配置文件是否正常:
1 | $ /usr/local/nginx/sbin/nginx –t |
强制关闭:
1 | $ pkill nginx |
nginx.conf的配置
我们可以在/usr/local/nginx/conf目录下找到nginx.conf文件,如下图
假设你的官网主页使用了80端口,它的url为http://xxx.cn ,另一个abc应用的url为http://abc.xxx.cn ,先在服务器建好文件夹准备存放不同的应用
1 |
|
现在在浏览器输入http://xxx.cn 就可以访问官网了,在浏览器输入http://abc.xxx.cn (子域名)就可以访问abc web应用了