# nginx安装

开始前,请确认gcc g++开发类库是否装好,默认已经安装。

ububtu平台编译环境可以使用以下指令

apt-get install build-essential
apt-get install libtool

centos平台编译环境使用如下指令

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

下面正式开始:

# 一、选定安装文件目录

可以选择任何目录,本文选择 cd /usr/local/src

cd /usr/local/src

# 二、安装PCRE库

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:(本文参照下载文件版本:pcre-8.37.tar.gz 经过验证未发现这个版本,若想下载最新版本请打开上面网址。本文选择pcre-8.39.tar.gz)

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install

# 三、安装zlib库

http://zlib.net/zlib-1.2.11.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:(本文参照下载文件版本:zlib-1.2.8.tar.gz 经过验证未发现这个版本,若想下载最新版本请打开上面网址。本文选择zlib-1.2.11.tar.gz )

cd /usr/local/src
 
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

# 四、安装openssl(某些vps默认没装ssl)

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz

# 五、安装nginx

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.1.10.tar.gz
tar -zxvf nginx-1.1.10.tar.gz
cd nginx-1.1.10
./configure
make
make install

**注:**这里可能会出现报错

image-20190402093513135

按照第四步方法或者

ubuntu下

apt-get install openssl
apt-get install libssl-dev

centos下

yum -y install openssl openssl-devel

# 六、启动nginx

因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

linux 修改路径/usr/local/nginx/conf/nginx.conf,Windows 下 安装目录\conf\nginx.conf。

修改端口为8090,localhost修改为你服务器ip地址。(成功就在眼前!!)

image-20190402093609133

启动nginx

netstat -ano|grep 80

如果查不到执行结果,则忽略上一步(ubuntu下必须用sudo启动,不然只能在前台运行)

sudo /usr/local/nginx/nginx

# 七、nginx重启、关闭、启动

启动Nginx服务

启动代码格式:nginx安装目录地址 -c nginx配置文件地址

例如:

[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

默认的情况下,Nginx是不会自动启动的,需要我们手动进行启动,当然启动Nginx的方法也不是单一的。

nginx直接启动

在CentOS7.4版本里(低版本是不行的),是可以直接直接使用nginx启动服务的。

nginx

使用systemctl命令启动

还可以使用个Linux的命令进行启动,我一般都是采用这种方法进行使用。因为这种方法无论启动什么服务,都是一样的,只是换一下服务的名字(不用增加额外的记忆点)。

systemctl start nginx.service

输入命令后,没有任何提示,那我们如何知道Nginx服务已经启动了哪?可以使用Linux的组合命令,进行查询服务的运行状况。

ps aux | grep nginx

如果启动成功会出现如下图片中类似的结果。

有这三条记录,说明我们Nginx被正常开启了。

停止Nginx服务的四种方法

停止Nginx 方法有很多种,可以根据需求采用不一样的方法,我们一个一个说明。

  • 立即停止服务
nginx  -s stop

这种方法比较强硬,无论进程是否在工作,都直接停止进程。

  • 从容停止服务
nginx -s quit

这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止。

  • killall 方法杀死进程

这种方法也是比较野蛮的,我们直接杀死进程,但是在上面使用没有效果时,我们用这种方法还是比较好的。

killall nginx
  • systemctl 停止
systemctl stop nginx.service

重启Nginx服务

有时候我们需要重启Nginx服务,这时候可以使用下面的命令。

systemctl restart nginx.service

重新载入配置文件

在重新编写或者修改Nginx的配置文件后,都需要作一下重新载入,这时候可以用Nginx给的命令。

nginx -s reload

查看端口号

在默认情况下,Nginx启动后会监听80端口,从而提供HTTP访问,如果80端口已经被占用则会启动失败。我么可以使用netstat -tlnp命令查看端口号的占用情况。

**总结:**这节课的内容虽然简单,但都是我们在工作中经常使用的,希望小伙伴们多多联系,我把课程分的如此细致,一个主要的原因也是希望可以方便在工作中进行查阅。

Last Updated: 6/16/2020, 2:45:18 PM