创作不易,觉得博主文章对您有帮助,求求各位道友点个关注+收藏+点赞,鼓励一下我,非常非常感谢!您的鼓励是我最大的动力,我也会将更多技术文章毫无保留的跟大家分享,希望大家能一起进步!
一、在线安装nginx
1.添加Nginx到YUM源
sudo rpm -Uvh <http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm>
2.安装nginx
在CentOS 7 服务器中使用yum命令从Nginx源服务器中获取来安装Nginx
sudo yum install -y nginx
3.启动nginx
刚安装的Nginx不会自行启动,需要执行命令运行nginx:
sudo systemctl start nginx.service
4.访问页面
验证是否安装成功
启动成功之后,因为其默认为80端口,直接在浏览器输入IP地址,直接回车访问即可:
5.注意
访问 nginx 主页时,关闭防火墙,或者开放 80 端口:
5.1关闭防火墙:
# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开启自启
systemctl disable firewalld.service
5.2或者开放80端口
firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
二、离线安装
1.前提条件是在离线环境下
为确保虚拟机处于离线环境,请将虚拟机的网络调整为仅与主机连接,如下图:
重新启动虚拟机,联网测试:
ping www.baidu.com
如果出现以下内容,说明虚拟机处于离线状态。
2.离线安装前置技术
gcc、perl以及相关的依赖openssl、pcre2、zlib
2.1.gcc安装
请确保已安装 gcc,查看 gcc 版本信息:
gcc -v
如果终端打印 gcc 相关版本信息,说明已安装 gcc,否则请安装 gcc:
安装 gcc 涉及到的所有依赖统一放到
/opt/rpms/gcc/
目录下,为了避免其它无关依赖导致 gcc 安装失败,请确保
/opt/rpms/gcc/
是一个空目录。
下载 gcc 依赖以及相关依赖:CentOS Mirror
具体需要什么依赖,需要根据自己使用的centos版本在镜像中进行下载,在安装时需要根据系统提示,需要什么依赖以及哪个版本的依赖就从镜像中下载哪个依赖(如图为centos7.9需要用到的依赖):
将上述所有依赖上传至
/opt/rpms/gcc/
目录中,并执行以下命令
yum -y install /opt/rpms/gcc/*.rpm
2.2.perl安装
请确保已经安装 perl 环境,查看 perl 版本:
perl -v
如果终端打印 perl 相关版本信息,说明已安装 perl:
否则,请安装 perl,下载地址:Perl Download - www.perl.org
将其上传至
/opt/sources
目录中,并执行以下命令:
tar -zxvf /opt/sources/perl-5.38.2.tar.gz -C /opt
cd /opt/perl-5.38.2
./Configure -des
make && make install
2.3.其他相关依赖
下载 openssl、pcre2 以及 zlib 源代码文件,并将这些文件上传至
/opt/sources
目录中。
openssl 下载地址:[ Downloads ] - /source/index.html
pcre2 下载地址:Releases · PCRE2Project/pcre2 · GitHub
zlib 下载地址:zlib Home Site。注意 zlib 版本需要 1.1.3+
解压 openssl、pcre2 以及 zlib:
tar -zxvf /opt/sources/openssl-3.2.0.tar.gz -C /opt
tar -zxvf /opt/sources/pcre2-10.42.tar.gz -C /opt
tar -zxvf /opt/sources/zlib-1.3.tar.gz -C /opt
3.正式安装nginx
3.1.nginx 下载
下载地址:nginx: download
3.2.解压nginx的tar.gz包并编译
将上述压缩包上传至
/opt/sources/
目录中,执行以下命令:
tar -zxvf /opt/sources/nginx-1.24.0.tar.gz -C /opt
cd /opt/nginx-1.24.0
# prefix:指定安装目录,为了方便使用,这里选择/usr
# with-pcre:pcre2的根目录(上述解压的pcre2-5.38.2.tar.gz)
# with-openssl:openssl的根目录(上述解压的openssl-3.2.0.tar.gz)
# with-zlib:zlib的根目录(上述解压的zlib-1.3.tar.gz)
./configure --with-http_ssl_module --prefix=/usr --with-pcre=/opt/pcre2-10.42 --with-openssl=/opt/openssl-3.2.0 --with-zlib=/opt/zlib-1.3
make && make install
3.3.修改配置文件
NGINX_HOME
代表 nginx 的安装目录,也就是上述构建 nginx 时指定的 prefix 参数。
默认情况下,配置文件位于
NGINX_HOME/conf/nginx.conf
。
########### 每个指令必须有分号结束。#################
#user administrator administrators; #配置用户或者组,默认为nobody nobody。
#worker_processes 2; #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络连接,默认为off
#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #最大连接数,默认为512
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout 65; #连接超时时间,默认为75s,可以在http,server,location块。
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.80.101:3333 backup; #热备
}
error_page 404 https://www.baidu.com; #错误页
server {
keepalive_requests 120; #单连接请求上限次数。
listen 4545; #监听端口
server_name 127.0.0.1; #监听地址
location ~*^.+$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
#root path; #根目录
#index vv.txt; #设置默认页
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 163.28.7.63; #允许的ip
}
}
}
3.4.启动nginx
# 默认配置文件启动
nginx
# 指定配置文件启动
nginx -c /etc/nginx.conf
3.5.查看 nginx 进程
NGINX_HOME
代表 nginx 的安装目录,也就是上述构建 nginx 时指定的 prefix 参数。
如果使用其它配置文件启动 nginx 时,出现以下错误:
请将
NGINX_HOME/conf/mime.types
文件拷贝到与该配置文件同一个位置
或者修改该配置文件:
将红色框框的内容更改为绝对路径:
NGINX_HOME/conf/mime.types
3.6.停止 nginx
# 立即停止
nginx -s stop
# 完成当前工作后停止
nginx -s quit
使用更改后的配置文件重新启动 nginx:
nginx -s reload
# 指定配置文件
nginx -s reload -c /etc/nginx.conf
检查 nginx 配置文件是否正确
nginx -t
# 指定配置文件
nginx -t -c /etc/nginx.conf
3.7.访问 nginx 主页
http://[ip]:80
注意:访问 nginx 主页时,请关闭防火墙,或者开放 80 端口:
关闭防火墙
# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开启自启
systemctl disable firewalld.service
或者开发80端口
firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload
三、卸载 nginx
1.停止 nginx
nginx -s quit
2.删除 nginx 根目录
rm -rf /opt/nginx-1.24.0
3.查看其余的 nginx 相关文件
find / -name nginx
4.删除上述命令中查找
rm -rf /usr/sbin/nginx
博主是数据科学与大数据技术专业的,需要交流技术,解决大数据技术问题或者对大数据技术感兴趣的同学、朋友可以加:
QQ技术交流群:837713217
版权归原作者 鸿神之星 所有, 如有侵权,请联系我们删除。