您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

使用shell脚本在centos8平台安装nginx服务

时间:2019-10-12 09:29:43  来源:  作者:

一、Nginx介绍

nginx web服务器部署

 

Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。和Apache一样,都是web服务器软件,因为其性能优异,所以被广大运维喜欢。又因为nginx是一个轻量级的web服务器,相比apache来说资源消耗更低。

延伸版本tengine(淘宝)、openresrt(章亦春)等

http://nginx.org 官网

http://www.nginx.cn/doc/index.html 中文文档

最近大事记:
锤子科技在 T2 鸟巢发布会上将门票收入捐赠给了 OpenResty 开源项目
OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块

二、nginx安装

nginx安装脚本

#!/bin/bash
#Auther: Bai Shuming
#Date: 2019-10-11 15:35
#Description: nginx-1.17 install from centos8-1905
​
​
#nginx源码包下载路径
nginx_pkg_url=http://nginx.org/download/nginx-1.17.4.tar.gz
​
#nginx安装路径,安装路径为$nginx_install_doc/nginx
nginx_install_doc=/usr/local
​
#nginx服务管理用户
nginx_manage_user=www
​
#统计本机CPU核数
cpu_count=`grep -c "flags" /proc/cpuinfo`
​
check () {
​
#安装nginx需要管理员权限 
[ $UID -ne 0 ] && echo "need to be root so that" && exit 1
​
#安装前的依赖包解决
#wget 命令
#gcc 编译命令
#pcre-devel URL重写功能
#zlib-devel 压缩支持
#make 编译命令
​
if ! (yum -y install wget gcc pcre-devel zlib-devel make &>/dev/null);then
 echo "yum install soft package fail"
 exit 1
fi 
​
if ! (egrep "^www" /etc/passwd &>/dev/null);then
 useradd -s /sbin/nologin -r -M www
fi
 
}
​
​
​
nginx_install () {
#1、下载软件包
if wget $nginx_pkg_url &>/dev/null;then
 #2、解压软件包
 echo $nginx_pkg_url|awk -F "/" '{print $5}'|xargs tar xf
 nginx_source_doc=`echo $nginx_pkg_url|awk -F "/" '{print $5}'|cut -d "." -f 1-3`
 #3、进入软件包
 if [ ! -d $nginx_source_doc ];then
 echo "unzip `echo $nginx_pkg_url|awk -F "/" '{print $5}'` fail"
 exit 1
 fi 
 
 cd $nginx_source_doc
​
 #4、configure nginx
 ./configure --prefix=$nginx_install_doc/nginx --user=$nginx_manage_user --group=$nginx_manage_user 1>/dev/null
 [ $? -ne 0 ]&&echo "nginx configure fail"&&exit 1
​
 #5、make nginx
 make -j $cpu_count 1>/dev/null
 [ $? -ne 0 ]&&echo "nginx make fail"&&exit 1
 
 #6、install nginx
 make install 1>/dev/null
 [ $? -ne 0 ]&&echo "nginx install fail"&&exit 1||echo "`clear`nginx install success..."
​
 #7、delete nginx soft package
 cd ..
 rm -rf ${nginx_source_doc}*
​
else
 echo "$nginx_pkg_url download fail"
 exit 1
fi 
​
 
}
​
#####callable function
check;nginx_install
​
  • 命令启动
  • 采用systemctl管理

3.1命令启动

使用nginx命令启动

[root@node1 ~]# /usr/local/nginx/sbin/nginx 

查看启动结果

[root@node1 ~]# lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 42948 root 9u IPv4 90839 0t0 TCP *:http (LISTEN)
nginx 42949 www 9u IPv4 90839 0t0 TCP *:http (LISTEN)

通过lsof命令查看,发现nginx已经启动,并且子进程也是由www用户管理的,完美!

3.2采用systemctl管理

生成systemctl启动管理文件,该文件默认没有,需要自己建立。

[root@node1 ~]# cat /etc/systemd/system/nginx.service
[Unit]
Description=nginx server daemon
Documentation=http://nginx.org/en/docs/
After=network.target
​
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
​
[Install]
WantedBy=multi-user.target

让systemctl重新加载一下,这样就能发现新添加的文件了。然后就是雷打不动的两部曲了

  • 开机启动
  • 服务管理
#重载systemctl服务
[root@node1 ~]# systemctl daemon-reload
​
#设置nginx开机启动
[root@node1 ~]# systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /etc/systemd/system/nginx.service.
​
#nginx服务管理 启动 关闭 状态查看 重载 重启
[root@node1 ~]# systemctl start nginx
[root@node1 ~]# systemctl stop nginx
[root@node1 ~]# systemctl status nginx
[root@node1 ~]# systemctl reload nginx
[root@node1 ~]# systemctl restart nginx
​
同样可以采用lsof命令查看nginx的变化


Tags:nginx服务   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
本文适用于 php7.4+NGINX环境,适用于运行 wordpress 环境一、更新服务器sudo apt update二、命令快捷缩写设置通过ssh登录服务器,在用户目录下执行以下命令sudo nano .bashrca...【详细内容】
2021-08-31  Tags: nginx服务  点击:(87)  评论:(0)  加入收藏
均衡算法也是多种多样,常见的两大类:即静态负载均衡法和动态负载均衡法。静态算法也是比较简单,主要有有一般轮询算法,基于比例的加权轮询算法,以及基于优先级的轮询算法。动态算...【详细内容】
2021-07-27  Tags: nginx服务  点击:(72)  评论:(0)  加入收藏
Nginx服务器是一款高性能的服务器,之前部署网站就使用了它进行反向代理,这次就好好总结Nginx相关的特性与使用。 01 前言Nginx服务器是Web服务器,也就是我们平时用来提供Web服...【详细内容】
2020-05-22  Tags: nginx服务  点击:(58)  评论:(0)  加入收藏
今天要说的是Nginx服务器高性能优化的配置,如何使Nginx轻松实现10万并发访问量。通常来说,一个正常的 Nginx Linux 服务器可以达到 500,000 – 600,000 次/秒 的请求处理...【详细内容】
2020-05-11  Tags: nginx服务  点击:(29)  评论:(0)  加入收藏
1. 获取服务器证书文件下载好压缩包,找到Nginx文件夹中的证书。2. 安装服务器证书复制 server.key、server.cer 文件到 Nginx 安装目录下的 conf 目录。打开 Nginx 安装目录...【详细内容】
2020-03-19  Tags: nginx服务  点击:(46)  评论:(0)  加入收藏
当我们有了一个 VPS 主机以后,为了不浪费 VPS 的强大资源(相比共享主机1000多个站点挤在一台机器上),往往有想让 VPS 做点什么的想法,银子不能白花啊:)。放置多个网站或者博客是...【详细内容】
2020-03-19  Tags: nginx服务  点击:(65)  评论:(0)  加入收藏
一、关于Nginx的负载均衡在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。详情请查看我的另一...【详细内容】
2020-02-16  Tags: nginx服务  点击:(81)  评论:(0)  加入收藏
配置nginx1.下载证书文件 2.在nginx的conf目录中创建目录cert目录,并将证书文件拷贝进去。3.配置nginx.conf,完整的nginx.conf如下:#user nobody;worker_processes 1;#error_lo...【详细内容】
2019-10-18  Tags: nginx服务  点击:(126)  评论:(0)  加入收藏
前言Nginx 是一个 免费的 , 开源的 , 高性能 的 HTTP 服务器和 反向代理 ,以及 IMAP / POP3代理服务器。 Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Ng...【详细内容】
2019-10-18  Tags: nginx服务  点击:(117)  评论:(0)  加入收藏
一、nginx介绍nginx web服务器部署 Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器...【详细内容】
2019-10-12  Tags: nginx服务  点击:(219)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条