失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令 以及开机自启动)

CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令 以及开机自启动)

时间:2018-10-30 17:04:27

相关推荐

CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令 以及开机自启动)

目录

1.​​​​​​Nginx介绍

2.Nginx和apache的优缺点

2.1nginx相对于apache的优点:

2.2apache 相对于nginx 的优点:

3.Tengine介绍

3.1tengine

3.2tengine和nginx性能测试

4.nginx安装

4.1.安装源码编译以及Nginx依赖的库

4.2下载nginx-1.20.1.tar.gz

4.2.1官网:/en/download.html

4.2.2上传nginx-1.20.1.tar.gz

4.3解压并配置

4.3.1解压

4.3.2目录详解

4.3.3生成 makefile,编译并安装

5.nginx 命令随处可用

方式一、 service命令

设置开机启动

方式二:systemctl命令

设置开机自启

服务命令

1.​​​​​​Nginx介绍

Nginx ("engine x") 是一个高性能的 静态HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。第一个公开版本0.1.0发布于10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定6月1日,nginx 1.0.4发布。apache httpdNginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。

2.Nginx和apache的优缺点

2.1nginx相对于apache的优点:

轻量级,同样起web 服务,比apache 占用更少的内存及资源

抗并发,nginx 处理请求是异步非阻塞(可参考文章快速掌握NIO和BIO有何不同? - 知乎)的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 NIO nettyNIO

高度模块化的设计,编写模块相对简单

社区活跃,各种高性能模块出品迅速

2.2apache 相对于nginx 的优点:

rewrite ,比nginx 的rewrite 强大

模块超多,基本想到的都可以找到

少bug ,nginx 的bug 相对较多

Nginx 配置简洁, Apache 复杂

最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

3.Tengine介绍

3.1tengine

网址:The Tengine Web Server

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

3.2tengine和nginx性能测试

tengine和nginx性能测试(参考一下网址):

Tengine & Nginx性能测试 - The Tengine Web Server

1.Tengine相比Nginx默认配置,提升200%的处理能力。

2.Tengine相比Nginx优化配置,提升60%的处理能力。

tengine更详细参数解释详见:

/nginx_docs/cn/docs/

4.nginx安装

4.1.安装源码编译以及Nginx依赖的库

yuminstall gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel -y

4.2下载nginx-1.20.1.tar.gz

4.2.1官网:nginx: download

官网将压缩包分成三部分:

Mainline versionStable version主线版本

Stable version稳定的版本

Legacy versions 遗留版本

选择自己需要的版本进行下载(我下载的是nginx-1.20.1)

备注:可以选择

4.2.2上传nginx-1.20.1.tar.gz

下载至本地后通过Xftp上传至虚拟机中

4.3解压并配置

4.3.1解压

[root@nginx1 apps]# tar -zxvf nginx-1.16.1.tar.gz

4.3.2目录详解

进入解压后的nginx-1.20.1文件中

[root@nginx1 nginx-1.20.1]# ll

查看 Nginx 的目录。

查看 Nginx 的目录。

其中各个目录中存放的文件作用为:

l auto:存放Nginx 自动安装的相关文件

l conf:存放Nginx 服务器配置文件

l configure:命令,用于对即将安装的软件的配置,完成makefile 编译文件的生成

l contrib:存放由其他机构贡献的文档材料

l html:存放Nginx 欢迎页面

l man:manual,手册,存放Nginx 帮助文档

l src:存放Nginx 源码

4.3.3生成 makefile,编译并安装

指定安装目录和https访问支持:

[root@nginx1 nginx-1.20.1]# ./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_gzip_static_module --error-log-path=/var/log/nginx/nginx.log --pid-path=/var/log/nginx/pid

编译(make)并安装(make install)

[root@nginx1 nginx-1.20.1]# make && make install

安装目录/opt/nginx 中有一个 sbin 目录,其中存放着 nginx 的命令程序nginx。默认情况下,若要使用 nginx 命令,则必须要在/opt/nginx/sbin 目录中,或指定命令路径。

启动:(在sbin目录中)

./nginx

停止:

./nginx -s stop

重启:

./nginx -s reload

5.nginx 命令随处可用

为了能够在任意目录下均可直接执行 nginx 命令,可通过以下两种方式完成。

方式一、 service命令

添加安装的nginx到服务列表:将如下内容添加到/etc/init.d/nginx脚本中,nginx需要具有可执行权限。注意替换自己系统的nginx路径。

[root@nginx1 nginx-1.16.1]# vim /etc/init.d/nginx#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \#proxy and IMAP/POP3 proxy server# processname: nginx# config:/etc/nginx/nginx.conf# config:/etc/sysconfig/nginx# pidfile:/var/run/nginx.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ "$NETWORKING" = "no" ] && exit 0nginx="/opt/nginx/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() {# make required directoriesuser=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`options=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d "=" -f 2`if [ ! -d "$value" ]; then# echo "creating" $valuemkdir -p $value && chown -R $user $valuefifidone}start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval}restart() {configtest || return $?stopsleep 1start}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $nginx -HUPRETVAL=$?echo}force_reload() {restart}configtest() {$nginx -t -c $NGINX_CONF_FILE}rh_status() {status $prog}rh_status_q() {rh_status >/dev/null 2>&1}case "$1" instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit 2esac

修改nginx文件的执行权限

chmod +x nginx

添加该文件到系统服务中去

chkconfig --add nginx

查看是否添加成功

chkconfig --list nginx

启动,停止,重新装载

service nginx start|stop|reload

设置开机启动

[root@nginx1 conf]# chkconfig nginx on

[root@nginx1 conf]# chkconfig

nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off

方式二:systemctl命令

步骤

1.进入**/usr/lib/systemd/system**

cd /usr/lib/systemd/system

2.创建nginx.service

touch nginx.service

3.vim编辑nginx.service,里面的路径根据自己实际情况修改

[Unit]Description=nginxAfter=network.target[Service]Type=forkingExecStart=/usr/local/tengine/sbin/nginx #修改为自己系统对应的路径ExecReload=/usr/local/tengine/sbin/nginx -s reload #修改为自己系统对应的路径ExecStop=/usr/local/tengine/sbin/nginx -s quit #修改为自己系统对应的路径PrivateTmp=true[Install]WantedBy=multi-user.target

设置开机自启

systemctl enable nginx.service

想关闭运行命令

systemctl disable nginx.service

服务命令

systemctl start nginx.service #开启systemctl stop nginx.service #关闭systemctl reload nginx.service #重新加载配置systemctl status nginx.service #查看状态

如果觉得《CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令 以及开机自启动)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。