CentOS 7.2安裝Nginx 1.10.2的詳細(xì)教程
一、使用Yum安裝(推薦)
使用Yum安裝是推薦的方式,整體的流程非常的簡(jiǎn)單,也不容易出錯(cuò),如果不需要什么特殊配置,建議使用Yum盡進(jìn)行安裝。
1、安裝epel-release源并進(jìn)行安裝
yum install epel-release yum update yum install nginx
2、執(zhí)行相關(guān)的應(yīng)用操作
systemctl start nginx #啟動(dòng) systemctl stop nginx #停止 systemctl restart nginx #重啟 systemctl status nginx #查看運(yùn)行狀態(tài) systemctl enable nginx #開(kāi)機(jī)啟動(dòng)
3、設(shè)置防火墻
在啟動(dòng)完以后可能無(wú)法通過(guò)IP訪問(wèn),需要進(jìn)一步設(shè)置防火墻
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload
至此,安裝完畢。
參考文章:https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7
二、通過(guò)源碼編譯安裝
1、安裝編譯所需工具
yum groupinstall "Development Tools" yum install wget
2、到官網(wǎng)下載最新的源代碼(https://nginx.org/en/)
cd /usr/local/src wget http://nginx.org/download/nginx-1.10.2.tar.gz tar zxvf nginx-1.10.2.tar.gz
3、安裝依賴包
yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel
zlib: 為nginx提供gzip模塊,需要zlib庫(kù)支持,傳輸數(shù)據(jù)打包,省流量(但消耗資源)
openssl: 為nginx提供ssl功能
pcre: 為支持地址重寫(xiě)rewrite功能
4、創(chuàng)建用來(lái)運(yùn)行nginx的用戶及組
groupadd nginx useradd -g nginx -M nginx –s /sbin/nologin
-g參數(shù)為nginx用戶指定了一個(gè)組。-M參數(shù)保證其不自動(dòng)生成home目錄。
5、編譯源代碼
先使用./configure –help
查看編譯幫助:
[root@localhost nginx-1.10.2]# ./configure --help --help print this message --prefix=PATH set installation prefix #Nginx安裝的根路徑,默認(rèn)為 /usr/local/nginx。 --sbin-path=PATH set nginx binary pathname #指定nginx二進(jìn)制文件的路徑,默認(rèn)為PATH/sbin/nginx。 --modules-path=PATH set modules path #Perl模塊位置 --conf-path=PATH set nginx.conf pathname #設(shè)定nginx配置文件地址,默認(rèn)為PATH/conf/nginx.conf。 --error-log-path=PATH set error log pathname #錯(cuò)誤文件路徑,默認(rèn)為 PATH/logs/error.log。 --pid-path=PATH set nginx.pid pathname # master進(jìn)程pid寫(xiě)入的文件位置,通常在var/run下,默認(rèn)為 PATH/logs/nginx.pid。 --lock-path=PATH set nginx.lock pathname #共享存儲(chǔ)器互斥鎖文件路徑 --user=USER set non-privileged user for worker processes #指定程序運(yùn)行時(shí)的非特權(quán)用戶 --group=GROUP set non-privileged group for worker processes #指定程序運(yùn)行時(shí)的非特權(quán)用戶組 --build=NAME set build name #編譯名稱 --builddir=DIR set build directory #指向編譯目錄 --with-select_module enable select module 允許或不允許開(kāi)啟SELECT模式,如果configure沒(méi)有找到合適的模式,比如,kqueue(sun os)、epoll(linux kenel 2.6+)、rtsig(實(shí)時(shí)信號(hào)) --without-select_module disable select module 禁用select模塊支持 --with-poll_module enable poll module 啟用poll模塊支持(功能與select相同,與select特性相同,為一種輪詢模式,不推薦在高載環(huán)境下使用) --without-poll_module disable poll module 禁用poll模塊支持 --with-threads enable thread pool support --with-file-aio enable file AIO support #為freeBSD4.3+和linux2.6.22+系統(tǒng)啟用異步io --with-ipv6 enable IPv6 support #啟用ipv6支持 #默認(rèn)禁用的模塊 --with-http_ssl_module enable ngx_http_ssl_module #使支持https請(qǐng)求,需已安裝openssl --with-http_v2_module enable ngx_http_v2_module #啟用HTTP V2 --with-http_realip_module enable ngx_http_realip_module #此模塊支持顯示真實(shí)來(lái)源IP地址,主要用于NGINX做前端負(fù)載均衡服務(wù)器使用 --with-http_addition_module enable ngx_http_addition_module #輸出過(guò)濾器,使你能夠在請(qǐng)求經(jīng)過(guò)一個(gè)location前或后時(shí)在該location本身添加內(nèi)容 --with-http_xslt_module enable ngx_http_xslt_module #這個(gè)模塊是一個(gè)過(guò)濾器,它可以通過(guò)XSLT模板轉(zhuǎn)換XML應(yīng)答 --with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module --with-http_image_filter_module enable ngx_http_image_filter_module #圖像過(guò)濾器,在將圖像投遞到客戶之前進(jìn)行處理(需要libgd庫(kù)) --with-http_image_filter_module=dynamic enable dynamic ngx_http_image_filter_module --with-http_geoip_module enable ngx_http_geoip_module #創(chuàng)建基于與MaxMind GeoIP相配的客戶端地址 --with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module --with-http_sub_module enable ngx_http_sub_module #這個(gè)模塊可以能夠在nginx的應(yīng)答中搜索并替換文本 --with-http_dav_module enable ngx_http_dav_module #為文件和目錄指定權(quán)限,限制不同類型的用戶對(duì)于頁(yè)面有不同的操作權(quán)限 --with-http_flv_module enable ngx_http_flv_module #這個(gè)模塊支持對(duì)FLV(flash)文件的拖動(dòng)播放 --with-http_mp4_module enable ngx_http_mp4_module #支持H.264/AAC文件為偽流媒體 --with-http_gunzip_module enable ngx_http_gunzip_module #對(duì)于不支持gzip編碼的客戶,該模塊用于為客戶解壓縮預(yù)壓縮內(nèi)容 --with-http_gzip_static_module enable ngx_http_gzip_static_module #這個(gè)模塊在一個(gè)預(yù)壓縮文件傳送到開(kāi)啟Gzip壓縮的客戶端之前檢查是否已經(jīng)存在以“.gz”結(jié)尾的壓縮文件,這樣可以防止文件被重復(fù)壓縮 --with-http_auth_request_module enable ngx_http_auth_request_module --with-http_random_index_module enable ngx_http_random_index_module #從目錄中選擇一個(gè)隨機(jī)主頁(yè) --with-http_secure_link_module enable ngx_http_secure_link_module #該模塊提供一種機(jī)制,它會(huì)將一個(gè)哈希值鏈接到一個(gè)url中,因此,只有那些使用正確的密碼能夠計(jì)算鏈接 --with-http_degradation_module enable ngx_http_degradation_module #允許在內(nèi)存不足的情況下返回204或444碼 --with-http_slice_module enable ngx_http_slice_module --with-http_stub_status_module enable ngx_http_stub_status_module #取得一些nginx的運(yùn)行狀態(tài),輸出的狀態(tài)信息可使用RRDtool或類似的工具繪制成圖 #默認(rèn)啟用的模塊 --without-http_charset_module disable ngx_http_charset_module #重新編碼web頁(yè)面 --without-http_gzip_module disable ngx_http_gzip_module #同-with-http_gzip_static_module功能一樣 --without-http_ssi_module disable ngx_http_ssi_module #提供在輸入端處理處理服務(wù)器包含文件(SSI)的過(guò)濾器,目前支持SSI命令的列表是不完整的 --without-http_userid_module disable ngx_http_userid_module #用來(lái)處理用來(lái)確定客戶端后續(xù)請(qǐng)求的cookies --without-http_access_module disable ngx_http_access_module #供了一個(gè)簡(jiǎn)單的基于主機(jī)的訪問(wèn)控制。允許/拒絕基于ip地址 --without-http_auth_basic_module disable ngx_http_auth_basic_module #可以使用用戶名和密碼基于http基本認(rèn)證方法來(lái)保護(hù)你的站點(diǎn)或其部分內(nèi)容 --without-http_autoindex_module disable ngx_http_autoindex_module #自動(dòng)生成目錄列表,只在ngx_http_index_module模塊未找到索引文件時(shí)發(fā)出請(qǐng)求。 --without-http_geo_module disable ngx_http_geo_module #創(chuàng)建一些變量,其值依賴于客戶端的IP地址 --without-http_map_module disable ngx_http_map_module #使用任意的鍵/值對(duì)設(shè)置配置變量 --without-http_split_clients_module disable ngx_http_split_clients_module #用來(lái)基于某些條件劃分用戶。條件如:ip地址、報(bào)頭、cookies等等 --without-http_referer_module disable ngx_http_referer_module #用來(lái)過(guò)濾請(qǐng)求,拒絕報(bào)頭中Referer值不正確的請(qǐng)求 --without-http_rewrite_module disable ngx_http_rewrite_module #允許使用正則表達(dá)式改變URI,并且根據(jù)變量來(lái)轉(zhuǎn)向以及選擇配置 --without-http_proxy_module disable ngx_http_proxy_module #有關(guān)代理服務(wù)器 --without-http_fastcgi_module disable ngx_http_fastcgi_module #允許Nginx 與FastCGI 進(jìn)程交互,并通過(guò)傳遞參數(shù)來(lái)控制FastCGI 進(jìn)程工作。 --without-http_uwsgi_module disable ngx_http_uwsgi_module #用來(lái)使用uwsgi協(xié)議,uWSGI服務(wù)器相關(guān) --without-http_scgi_module disable ngx_http_scgi_module #用來(lái)啟用SCGI協(xié)議支持,SCGI協(xié)議是CGI協(xié)議的替代。 --without-http_memcached_module disable ngx_http_memcached_module #用來(lái)提供簡(jiǎn)單的緩存,以提高系統(tǒng)效率 --without-http_limit_conn_module disable ngx_http_limit_conn_module #允許你對(duì)于一個(gè)地址進(jìn)行連接數(shù)的限制用一個(gè)給定的session或一個(gè)特定的事件 --without-http_limit_req_module disable ngx_http_limit_req_module #允許你對(duì)于一個(gè)地址進(jìn)行請(qǐng)求數(shù)量的限制用一個(gè)給定的session或一個(gè)特定的事件 --without-http_empty_gif_module disable ngx_http_empty_gif_module #在內(nèi)存中常駐了一個(gè)1*1的透明GIF圖像,可以被非??焖俚恼{(diào)用 --without-http_browser_module disable ngx_http_browser_module #用來(lái)創(chuàng)建依賴于請(qǐng)求報(bào)頭的值 --without-http_upstream_hash_module disable ngx_http_upstream_hash_module #用于簡(jiǎn)單的負(fù)載均衡 --without-http_upstream_ip_hash_module disable ngx_http_upstream_ip_hash_module --without-http_upstream_least_conn_module disable ngx_http_upstream_least_conn_module --without-http_upstream_keepalive_module disable ngx_http_upstream_keepalive_module --without-http_upstream_zone_module disable ngx_http_upstream_zone_module --with-http_perl_module enable ngx_http_perl_module #這個(gè)模塊允許nginx使用SSI調(diào)用perl或直接執(zhí)行perl(使用會(huì)降低性能) --with-http_perl_module=dynamic enable dynamic ngx_http_perl_module --with-perl_modules_path=PATH set Perl modules path #設(shè)定perl模塊路徑 --with-perl=PATH set perl binary pathname #設(shè)定perl庫(kù)文件路徑 --http-log-path=PATH set http access log pathname #設(shè)定access log路徑 --http-client-body-temp-path=PATH set path to store http client request body temporary files #設(shè)定http客戶端請(qǐng)求臨時(shí)文件路徑 --http-proxy-temp-path=PATH set path to store http proxy temporary files #設(shè)定http代理臨時(shí)文件路徑 --http-fastcgi-temp-path=PATH set path to store http fastcgi temporary files #設(shè)定http fastcgi臨時(shí)文件路徑 --http-uwsgi-temp-path=PATH set path to store http uwsgi temporary files #設(shè)定http uwsgi臨時(shí)文件路徑 --http-scgi-temp-path=PATH set path to store http scgi temporary files #設(shè)定http scgi臨時(shí)文件路徑 --without-http disable HTTP server #完全禁用http模塊,如果只想支持mall,可以使用此項(xiàng)設(shè)置 --without-http-cache disable HTTP cache #在使用upstream模塊時(shí),nginx能夠配置本地緩存內(nèi)容,此選項(xiàng)可禁用緩存 --with-mail enable POP3/IMAP4/SMTP proxy module #激活POP3/IMAP4/SMTP代理模塊,默認(rèn)未激活 --with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module --with-mail_ssl_module enable ngx_mail_ssl_module #SMTP可以使用SSL/TLS.配置已經(jīng)定義了HTTP SSL模塊,但是不支持客戶端證書(shū)檢測(cè) --without-mail_pop3_module disable ngx_mail_pop3_module #啟用mail模塊后,單獨(dú)禁用pop3模塊 --without-mail_imap_module disable ngx_mail_imap_module #啟用mail模塊后,單獨(dú)禁用imap模塊 --without-mail_smtp_module disable ngx_mail_smtp_module #啟用mail模塊后,單獨(dú)禁用smtp模塊 --with-stream enable TCP/UDP proxy module --with-stream=dynamic enable dynamic TCP/UDP proxy module --with-stream_ssl_module enable ngx_stream_ssl_module --without-stream_limit_conn_module disable ngx_stream_limit_conn_module --without-stream_access_module disable ngx_stream_access_module --without-stream_upstream_hash_module disable ngx_stream_upstream_hash_module --without-stream_upstream_least_conn_module disable ngx_stream_upstream_least_conn_module --without-stream_upstream_zone_module disable ngx_stream_upstream_zone_module --with-google_perftools_module enable ngx_google_perftools_module #調(diào)試用,剖析程序性能瓶頸 --with-cpp_test_module enable ngx_cpp_test_module --add-module=PATH enable external module #啟用外部模塊支持 --add-dynamic-module=PATH enable dynamic external module #編譯相關(guān)的參數(shù) --with-cc=PATH set C compiler pathname #如果想設(shè)置一個(gè)不在默認(rèn)path下的c編譯器 --with-cpp=PATH set C preprocessor pathname #設(shè)置c預(yù)處理器的相對(duì)路徑 --with-cc-opt=OPTIONS set additional C compiler options #設(shè)置C編譯器參數(shù) --with-ld-opt=OPTIONS set additional linker options #包含連接庫(kù)的路徑和運(yùn)行路徑 --with-cpu-opt=CPU build for the specified CPU, valid values:pentium, pentiumpro, pentium3, pentium4,athlon, opteron, sparc32, sparc64, ppc64 #指定編譯的CPU --without-pcre disable PCRE library usage #禁用pcre庫(kù) --with-pcre force PCRE library usage #啟用pcre庫(kù) --with-pcre=DIR set path to PCRE library sources #指向pcre庫(kù)文件目錄 --with-pcre-opt=OPTIONS set additional build options for PCRE #在編譯時(shí)為pcre庫(kù)設(shè)置附加參數(shù) --with-pcre-jit build PCRE with JIT compilation support --with-md5=DIR set path to md5 library sources #指向md5庫(kù)文件目錄 --with-md5-opt=OPTIONS set additional build options for md5 #在編譯時(shí)為md5庫(kù)設(shè)置附加參數(shù) --with-md5-asm use md5 assembler sources #使用md5匯編源 --with-sha1=DIR set path to sha1 library sources #指向sha1庫(kù)目錄 --with-sha1-opt=OPTIONS set additional build options for sha1 #在編譯時(shí)為sha1庫(kù)設(shè)置附加參數(shù) --with-sha1-asm use sha1 assembler sources #使用sha1匯編源 --with-zlib=DIR set path to zlib library sources #指向zlib庫(kù)目錄 --with-zlib-opt=OPTIONS set additional build options for zlib #在編譯時(shí)為zlib設(shè)置附加參數(shù) --with-zlib-asm=CPU use zlib assembler sources optimized for the specified CPU, valid values: pentium, pentiumpro #為指定的CPU使用zlib匯編源進(jìn)行優(yōu)化 --with-libatomic force libatomic_ops library usage # 為原子內(nèi)存的更新操作的實(shí)現(xiàn)提供一個(gè)架構(gòu) --with-libatomic=DIR set path to libatomic_ops library sources #指向libatomic_ops安裝目錄 --with-openssl=DIR set path to OpenSSL library sources #指向openssl安裝目錄 --with-openssl-opt=OPTIONS set additional build options for OpenSSL #在編譯時(shí)為openssl設(shè)置附加參數(shù) --with-debug enable debug logging #啟用debug日志
設(shè)置編譯參數(shù):
./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-pcre \ --with-http_v2_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ --with-http_auth_request_module
然后執(zhí)行 make && make install
完成安裝后在 centos7 中為nginx的啟動(dòng)、重啟、重載配置添加腳本:
vi /usr/lib/systemd/system/nginx
添加內(nèi)容:
[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
相關(guān)操作:
systemctl is-enabled nginx.service #查詢nginx是否開(kāi)機(jī)啟動(dòng) systemctl enable nginx.service #開(kāi)機(jī)運(yùn)行nginx systemctl disable nginx.service #取消開(kāi)機(jī)運(yùn)行nginx systemctl start nginx.service #啟動(dòng)nginx systemctl stop nginx.service #停止nginx systemctl restart nginx.service #重啟nginx systemctl reload nginx.service #重新加載nginx配置文件 systemctl status nginx.service #查詢nginx運(yùn)行狀態(tài) systemctl --failed #顯示啟動(dòng)失敗的服務(wù)
總結(jié)
以上就是CentOS 7.2安裝Nginx 1.10.2的詳細(xì)教程,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- CentOS 6.4安裝配置LNMP服務(wù)器(Nginx+PHP+MySQL)
- CentOS 6.3安裝配置Nginx方法
- CentOS 5.4下的Memcache安裝步驟(Linux+Nginx+PHP+Memcached)
- centos7系統(tǒng)下nginx安裝并配置開(kāi)機(jī)自啟動(dòng)操作
- CentOS 安裝 PHP5.5+Redis+XDebug+Nginx+MySQL全紀(jì)錄
- centos7安裝nginx的兩種方法介紹
- Centos 6.8編譯安裝LNMP環(huán)境(Nginx+MySQL+PHP)教程
- 騰訊云CentOS 6.6快速安裝 Nginx服務(wù)器圖文教程
- CentOS 中Nginx的安裝方法
相關(guān)文章
CentOS 7下修改默認(rèn)網(wǎng)卡名為eth0的兩種方法
今天又從Centos 6.5裝回了Centos 7,畢竟還是要順應(yīng)潮流嘛。安裝完成之后,發(fā)現(xiàn)發(fā)現(xiàn)CentOS 7默認(rèn)的網(wǎng)卡名稱是eno16777736,所以想著改回eth0,下面這篇文章主要介紹了CentOS 7下修改默認(rèn)網(wǎng)卡名為eth0的兩種方法,需要的朋友可以參考借鑒。2017-02-02wget下載整個(gè)網(wǎng)站(整個(gè)子目錄)或特定目錄
這篇文章主要介紹了wget下載整個(gè)網(wǎng)站(整個(gè)子目錄)或特定目錄,需要的朋友可以參考下2021-04-04詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器
本篇文章主要介紹了詳解阿里云CentOS Linux服務(wù)器上用postfix搭建郵件服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12Windows 10 太難用如何定制你的 Ubuntu方法詳解
這篇文章主要介紹了Windows 10 太難用,如何定制你的 Ubuntu,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08linux 安裝pypy , virtualenv及使用方法
下面小編就為大家?guī)?lái)一篇linux 安裝pypy , virtualenv及使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12簡(jiǎn)要分析linux系統(tǒng)的啟動(dòng)過(guò)程
接觸linux系統(tǒng)運(yùn)維已經(jīng)好幾年了,常常被問(wèn)到linux系統(tǒng)啟動(dòng)流程問(wèn)題,這篇文章主要介紹了簡(jiǎn)要分析linux系統(tǒng)的啟動(dòng)過(guò)程,需要的朋友可以參考下2018-08-08