日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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官網?: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命令

設置開機啟動

方式二:systemctl命令

設置開機自啟

服務命令


1.??????Nginx介紹

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

    2.1nginx相對于apache的優點:

    輕量級,同樣起web 服務,比apache 占用更少的內存及資源

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

    高度模塊化的設計,編寫模塊相對簡單

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

    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平臺。

    從2011年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更詳細參數解釋詳見:

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

    4.nginx安裝

    4.1.安裝源碼編譯以及Nginx依賴的庫

    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官網?: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 2 esac

    修改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=nginx After=network.target[Service] Type=forking ExecStart=/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 命令,以及开机自启动)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。