CentOS7.9下nginx的安装与配置(实现任意目录下均可直接执行 nginx 命令,以及开机自启动)
目錄
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介紹
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 -y4.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.gz4.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 reload5.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**
2.創(chuàng)建nginx.service
3.vim編輯nginx.service,里面的路徑根據(jù)自己實(shí)際情況修改
設(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)題。
- 上一篇: 疏散指示系统在办公楼中的研究与应用
- 下一篇: nginx常用命令大全