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介紹
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 -y4.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.gz4.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 reload5.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**
2.創建nginx.service
3.vim編輯nginx.service,里面的路徑根據自己實際情況修改
設置開機自啟
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 命令,以及开机自启动)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 疏散指示系统在办公楼中的研究与应用
- 下一篇: nginx常用命令大全