一、摘要
nginx 安装有三种方式:
1 、配置 yum 安装:这个需要先配置好 yum
软件包,然后使用 yum install nginx
命令安装。
2 、源码安装:去官网下载源码,自行编译安装。
3 、使用第三方提供的安装包:如 lnmp 一键安装包,简单操作就能一键配置。
这里我使用的是第二种方式,从源码安装。
二、安装步骤
1 、安装依赖的库和工具
使用 yum
命令直接安装:yum install -y gcc gcc-c++ automake autoconf libtool make
2 、下载安装包和必要的组件包
nginx 必需的三个包:zlib
pcre
openssl
- zlib:https://www.zlib.net/,压缩相关库。
- pcre:https://sourceforge.net/projects/pcre/files/pcre/,正则解析库。
- openssl:https://github.com/openssl/openssl,https 协议相关库。
nginx 安装包下载地址:https://nginx.org/en/download.html
1 2 3 4 |
wget https://www.zlib.net/zlib-1.2.11.tar.gz wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.41/pcre-8.41.tar.gz wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_0_2l -O openssl-1.0.2l.tar.gz wget https://nginx.org/download/nginx-1.12.2.tar.gz |
安装包的版本分别为:zlib-1.2.11.tar.gz
pcre-8.41.tar.gz
openssl-1.0.2l.tar.gz
nginx-1.12.2.tar.gz
3 、安装
下载好所有的包后,把所有安装包放到同一目录,解压:
1 2 3 4 5 |
tar -zxvf zlib-1.2.11.tar.gz tar -zxvf pcre-8.41.tar.gz tar -zxvf openssl-1.0.2l.tar.gz tar -zxvf nginx-1.12.2.tar.gz mv openssl-OpenSSL_1_0_2l/ openssl-1.0.2l |
进入到 nginx 的解压目录,输入以下命令进行配置 (多行命令可能无法执行可以放置到一行),这里设置的安装目录为/usr/local/nginx
,要严格注意每个附加的三个包对应的文件夹名字不要写错了,不然安装不成功。
1 2 3 4 5 6 7 8 9 |
cd nginx-1.12.2 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2l |
安装,需要管理员权限,切换到 root
或者加 sudo
运行。会耗费一定的时间,根据机器性能而定。
1 |
make && make install |
如果没什么意外的话,安装成功后在/usr/local/nginx/
目录下就会出现四个文件夹:
1 2 3 4 5 6 7 |
[root@localhost nginx-1.12.1]# cd /usr/local/nginx/ [root@localhost nginx]# ll total 16 drwxr-xr-x. 2 root root 4096 Sep 24 21:17 conf # 配置文件目录 drwxr-xr-x. 2 root root 4096 Sep 24 21:17 html # 静态文件目录 drwxr-xr-x. 2 root root 4096 Sep 24 21:17 logs # 日志文件目录 drwxr-xr-x. 2 root root 4096 Sep 24 21:17 sbin # 二进制执行文件目录 |
进入到 sbin
目录下,运行 nginx
1 2 |
cd sbin ./nginx |
如果没有配置防火墙的话,web 服务就已经启动了,使用浏览器访问就会出现以下页面。
默认情况下,nginx 会监听 80
端口
如果主机有防火墙规则的话,则需要手动开启 80
端口才能正常访问:
1 2 3 4 5 6 7 8 9 10 |
# 打开配置文档,添加记录规则 vi /etc/sysconfig/iptables # 添加一行记录 -A INPUT -p tcp --dport 80 -j ACCEPT # 或者直接运行命令添加 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 重启防火墙 service iptables restart |
到这里,nginx
就算是安装成功了。
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# 检查配置文件是否正确 # 用于修改或者增加配置文件后,检查语法问题 nginx -t # 可以看到编译选项 nginx -V # 重启 Nginx,平滑重启 sudo nginx -s reload # 关闭 Nginx sudo nginx -s stop # 关闭 nginx,平滑关闭,会等待所有进程结束 sudo nginx -s quit # 强行关闭 kill -s SIGQUIT pid_master kill -s SIGWINCH pid_master |
评论