目录
可以上外网
安装依赖包
1、安装gcc环境:编译时依赖gcc环境
yum -y install gcc-c++ autoconf automake make
2、安装PCRE依赖库
yum -y install pcre pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。
3、安装zlib依赖库
yum -y install zlib zlib-devel make libtool
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
4、安装OpenSSL安全套接字层密码库
yum -y install openssl openssl-devel
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
安装Nginx
1、手动创建用户和用户组
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
2、在nginx官网下载压缩文件nginx-1.20.2.tar.gz,通过xftp将nginx文件拷贝到linux服务器目录下
nginx: downloadhttps://nginx.org/en/download.html
3、切换到nginx-1.20.2.tar.gz所在目录,解压nginx
tar -zxvf nginx-1.20.2.tar.gz
4、编译目录:解压后,切换到nginx-1.20.2目录,执行./configure命令检查
cd nginx-1.20.2
#检查平台安装环境
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul
e --user=nginx --group=nginx
参数说明:
- #编译安装目录:–prefix=/usr/local/nginx
- #所属用户nginx:–user=nginx
- #所属组nginx:–group=nginx
- #该模块提供nginx的基本状态信息:–with-http_stub_status_module
- #支持HTTPS:–with-http_ssl_module
5、编译源码并安装:执行命令 make && make install进行编译
make
make install
6、启动 Nginx
cd /usr/local/nginx/sbin
./nginx
常用命令:
- ./nginx #启动
- ./nginx -s quit #正常停止
- ./nginx -s reload #重新加载
- ./nginx -v #查看版本信息
7、启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址
8、如果没有看到欢迎页,可能是nginx所在机器的防火墙问题导致,可以关闭防火墙,或者开放防火墙的80端口,再用浏览器访问
#关闭防火墙
systemctl stop firewalld.service
firewall-cmd --state
#开放防火墙的80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=80/tcp
9、查看Nginx状态
(1)、进程查询
ps -ef | grep nginx
(2)、端口查询
lsof -i:80
(3)、IP查询(nginx所在机器IP地址)
curl xxx.xxx.xxx.xxx
(4)、查看服务 netstat -lntp
netstat -lntp
不可以上外网(离线)
镜像站点1:centos-7-os-x86_64-Packages安装包下载_开源镜像站-阿里云http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ 镜像站点2:Index of /7.5.1804/os/x86_64/Packages
https://vault.centos.org/7.5.1804/os/x86_64/Packages/也可以直接从这下载:nginx离线安装包及相关依赖包-CentOS文档类资源-CSDN下载nginx离线安装相关依赖,包括gcc、openssl-devel、pcre-devel、zlib-更多下载资源、学习资料请访问CSDN下载频道.
https://download.csdn.net/download/zhiwenganyong/85860880
依赖 rpm包
1)gcc
2)pcre-devel
3)zlib-devel
4)openssl-devel
nginx下载
nginx: downloadhttps://nginx.org/en/download.html
安装pcre-devel
cd /usr/nginxDepend/pcre-devel
rpm -Uvh *
安装zlib-devel
cd /usr/nginxDepend/zlib-devel
rpm -Uvh *
安装openssl-devel
cd /usr/nginxDepend/openssl-devel
rpm -Uvh *.rpm --nodeps --force
安装gcc(如果系统有gcc可以忽略)
cd /usr/nginxDepend/gcc
rpm -Uvh *.rpm --nodeps --force
安装nginx
tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/nginx/
2.在nginx目录下执行如下命令
cd /usr/local/nginx/nginx-1.18.0
./configure
默认配置安装在/usr/local/nginx
3.然后在nginx解压目录下执行
cd /usr/local/nginx/nginx-1.18.0
make && make install
启动nginx
关闭selinux
#临时关闭selinux
setenforce 0
#永久关闭,将SELINUX设置为disabled
vi /etc/selinux/config
防火墙开发80端口
sudo firewall-cmd --zone=public --list-all # 查看开放的端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口
sudo firewall-cmd --reload # 重新加载
nginx命令
# 启动nginx
/usr/local/nginx/sbin/nginx
# 立即停止Nginx服务
/usr/local/nginx/sbin/nginx -s stop
# 完成当前任务后停止
/usr/local/nginx/sbin/nginx -s quit
启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址
配置SSL
先把目前的nginx关闭,目前安装在/usr/local/nginx
./nginx -s stop
到解压的nginx目录下,执行:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
执行make
命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖。
make
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。
查看是否有安装ssl模块成功
./usr/local/nginx/sbin/nginx -V
有 configure arguments: --with-http_ssl_module 说明安装成功了