史上最详细最全保姆级教程Centos在线和离线部署安装nginx
鸿神之星 2024-06-12 09:37:11 阅读 81
创作不易,觉得博主文章对您有帮助,求求各位道友点个关注+收藏+点赞,鼓励一下我,非常非常感谢!您的鼓励是我最大的动力,我也会将更多技术文章毫无保留的跟大家分享,希望大家能一起进步!
目录
一、在线安装nginx
1.添加Nginx到YUM源
2.安装nginx
3.启动nginx
4.访问页面
5.注意
5.1关闭防火墙:
5.2或者开放80端口
二、离线安装
1.前提条件是在离线环境下
2.离线安装前置技术
2.1.gcc安装
2.2.perl安装
2.3.其他相关依赖
3.正式安装nginx
3.1.nginx 下载
3.2.解压nginx的tar.gz包并编译
3.3.修改配置文件
3.4.启动nginx
3.5.查看 nginx 进程
3.6.停止 nginx
3.7.访问 nginx 主页
三、卸载 nginx
1.停止 nginx
2.删除 nginx 根目录
3.查看其余的 nginx 相关文件
4.删除上述命令中查找
一、在线安装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 /optcd /opt/perl-5.38.2./Configure -desmake && 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 /opttar -zxvf /opt/sources/pcre2-10.42.tar.gz -C /opttar -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 /optcd /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.3make && 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|emergevents { 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
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。