日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

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

發(fā)布時(shí)間:2024/1/1 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令,以及开机自启动) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

1.??????Nginx介紹

2.Nginx和apache的優(yōu)缺點(diǎn)

2.1nginx相對(duì)于apache的優(yōu)點(diǎn):

2.2apache 相對(duì)于nginx 的優(yōu)點(diǎn):

3.Tengine介紹

????????3.1tengine

3.2tengine和nginx性能測(cè)試

4.nginx安裝

4.1.安裝源碼編譯以及Nginx依賴的庫(kù)

4.2下載nginx-1.20.1.tar.gz

4.2.1官網(wǎng)?:http://nginx.org/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命令

設(shè)置開(kāi)機(jī)啟動(dòng)

方式二:systemctl命令

設(shè)置開(kāi)機(jī)自啟

服務(wù)命令


1.??????Nginx介紹

  • Nginx ("engine x") 是一個(gè)高性能的 靜態(tài)HTTP 和 反向代理 服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。
  • 第一個(gè)公開(kāi)版本0.1.0發(fā)布于2004年10月4日。
  • 其將源代碼以類BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名
  • 官方測(cè)試nginx能夠支撐5萬(wàn)并發(fā)鏈接,并且cpu、內(nèi)存等資源消耗卻非常低,運(yùn)行非常穩(wěn)定
  • 2011年6月1日,nginx 1.0.4發(fā)布。apache httpd
  • Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開(kāi)發(fā),其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶有:新浪、網(wǎng)易、騰訊等。
  • 2.Nginx和apache的優(yōu)缺點(diǎn)

    2.1nginx相對(duì)于apache的優(yōu)點(diǎn):

    輕量級(jí),同樣起web 服務(wù),比apache 占用更少的內(nèi)存及資源

    抗并發(fā),nginx 處理請(qǐng)求是異步非阻塞(可參考文章快速掌握NIO和BIO有何不同? - 知乎的,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能 ?NIO netty?NIO

    高度模塊化的設(shè)計(jì),編寫模塊相對(duì)簡(jiǎn)單

    社區(qū)活躍,各種高性能模塊出品迅速

    2.2apache 相對(duì)于nginx 的優(yōu)點(diǎn):

    rewrite ,比nginx 的rewrite 強(qiáng)大

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

    少bug ,nginx 的bug 相對(duì)較多

    Nginx 配置簡(jiǎn)潔, Apache 復(fù)雜

    最核心的區(qū)別在于apache是同步多進(jìn)程模型,一個(gè)連接對(duì)應(yīng)一個(gè)進(jìn)程;nginx是異步的,多個(gè)連接(萬(wàn)級(jí)別)可以對(duì)應(yīng)一個(gè)進(jìn)程

    3.Tengine介紹

    3.1tengine

    網(wǎng)址:The Tengine Web Server

    Tengine是由淘寶網(wǎng)發(fā)起的Web服務(wù)器項(xiàng)目。它在Nginx的基礎(chǔ)上,針對(duì)大訪問(wèn)量網(wǎng)站的需求,添加了很多高級(jí)功能和特性。Tengine的性能和穩(wěn)定性已經(jīng)在大型的網(wǎng)站如淘寶網(wǎng),天貓商城等得到了很好的檢驗(yàn)。它的最終目標(biāo)是打造一個(gè)高效、穩(wěn)定、安全、易用的Web平臺(tái)。

    從2011年12月開(kāi)始,Tengine成為一個(gè)開(kāi)源項(xiàng)目,Tengine團(tuán)隊(duì)在積極地開(kāi)發(fā)和維護(hù)著它。Tengine團(tuán)隊(duì)的核心成員來(lái)自于淘寶、搜狗等互聯(lián)網(wǎng)企業(yè)。Tengine是社區(qū)合作的成果,我們歡迎大家參與其中,貢獻(xiàn)自己的力量。

    3.2tengine和nginx性能測(cè)試

    tengine和nginx性能測(cè)試(參考一下網(wǎng)址):

    Tengine & Nginx性能測(cè)試 - The Tengine Web Server

    1.Tengine相比Nginx默認(rèn)配置,提升200%的處理能力。

    2.Tengine相比Nginx優(yōu)化配置,提升60%的處理能力。

    tengine更詳細(xì)參數(shù)解釋詳見(jiàn):

    http://tengine.taobao.org/nginx_docs/cn/docs/

    4.nginx安裝

    4.1.安裝源碼編譯以及Nginx依賴的庫(kù)

    yum?install gcc gcc-c++ pcre ?pcre-devel openssl openssl-devel zlib ?zlib-devel -y

    4.2下載nginx-1.20.1.tar.gz

    4.2.1官網(wǎng)?:nginx: download

    官網(wǎng)將壓縮包分成三部分:

    Mainline versionStable version????????主線版本

    Stable version??????????????????????????????????穩(wěn)定的版本

    Legacy versions? ? ? ? ? ? ? ? ? ? ? ?????????遺留版本

    選擇自己需要的版本進(jìn)行下載(我下載的是nginx-1.20.1)

    備注:可以選擇

    4.2.2上傳nginx-1.20.1.tar.gz

    下載至本地后通過(guò)Xftp上傳至虛擬機(jī)中

    ?4.3解壓并配置

    4.3.1解壓

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

    4.3.2目錄詳解

    ?進(jìn)入解壓后的nginx-1.20.1文件中

    [root@nginx1 nginx-1.20.1]# ll

    查看 Nginx 的目錄。

    查看 Nginx 的目錄。

    其中各個(gè)目錄中存放的文件作用為:

    l ?auto:存放?Nginx 自動(dòng)安裝的相關(guān)文件

    l ?conf:存放?Nginx 服務(wù)器配置文件

    l ?configure:命令,用于對(duì)即將安裝的軟件的配置,完成?makefile 編譯文件的生成

    l ?contrib:存放由其他機(jī)構(gòu)貢獻(xiàn)的文檔材料

    l ?html:存放?Nginx 歡迎頁(yè)面

    l ?man:manual,手冊(cè),存放?Nginx 幫助文檔

    l ?src:存放?Nginx 源碼

    4.3.3生成 makefile,編譯并安裝

    指定安裝目錄和https訪問(wèn)支持:

    [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 中有一個(gè) sbin 目錄,其中存放著 nginx 的命令程序nginx。默認(rèn)情況下,若要使用 nginx 命令,則必須要在/opt/nginx/sbin 目錄中,或指定命令路徑。

    ?

    ?啟動(dòng):(在sbin目錄中)

    ./nginx

    停止:

    ./nginx -s stop

    重啟:

    ./nginx -s reload

    5.nginx ?命令隨處可用

    為了能夠在任意目錄下均可直接執(zhí)行 nginx 命令,可通過(guò)以下兩種方式完成。

    方式一?、 ?service命令

    添加安裝的nginx到服務(wù)列表:將如下內(nèi)容添加到/etc/init.d/nginx腳本中,nginx需要具有可執(zhí)行權(quán)限。注意替換自己系統(tǒng)的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 2 esac

    修改nginx文件的執(zhí)行權(quán)限

    chmod +x nginx

    添加該文件到系統(tǒng)服務(wù)中去

    chkconfig --add nginx

    查看是否添加成功

    chkconfig --list nginx

    啟動(dòng),停止,重新裝載

    service nginx start|stop|reload

    設(shè)置開(kāi)機(jī)啟動(dòng)

    [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.進(jìn)入**/usr/lib/systemd/system**

    cd /usr/lib/systemd/system


    2.創(chuàng)建nginx.service

    touch nginx.service


    3.vim編輯nginx.service,里面的路徑根據(jù)自己實(shí)際情況修改

    [Unit] Description=nginx After=network.target[Service] Type=forking ExecStart=/usr/local/tengine/sbin/nginx ? ?#修改為自己系統(tǒng)對(duì)應(yīng)的路徑 ExecReload=/usr/local/tengine/sbin/nginx -s reload #修改為自己系統(tǒng)對(duì)應(yīng)的路徑 ExecStop=/usr/local/tengine/sbin/nginx -s quit ? ?#修改為自己系統(tǒng)對(duì)應(yīng)的路徑 PrivateTmp=true[Install] WantedBy=multi-user.target


    設(shè)置開(kāi)機(jī)自啟

    systemctl enable nginx.service

    想關(guān)閉運(yùn)行命令

    systemctl disable nginx.service



    服務(wù)命令

    systemctl start nginx.service ? #開(kāi)啟 systemctl stop nginx.service ? ?#關(guān)閉 systemctl reload nginx.service ?#重新加載配置 systemctl status nginx.service ?#查看狀態(tài)

    總結(jié)

    以上是生活随笔為你收集整理的CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令,以及开机自启动)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。