Centos7下安裝部署nginx的三種方式詳解
ngxin是什么
Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
nginx的作用
反向代理、負載均衡
正向代理和反向代理的區(qū)別
正向代理是客戶端和其他所有服務器的代理者,而反向代理是客戶端和所要代理的服務器之間的代理
正向代理:一般是像科學上網(wǎng),任何可以連接到該代理服務器的軟件,就可以通過代理訪問任何的其他服務器,然后把數(shù)據(jù)返回給客戶端,這里代理服務器只對客戶端負責
反向代理:客戶端是無感知代理服務器的存在的,訪問者者并不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。例如我們訪問百度,百度不止一個服務器,在多個地方都有服務器,而我們都是通過www.baidu.com這個域名去訪問的。
安裝部署
安裝環(huán)境
系統(tǒng):centos7 內(nèi)存:4G
網(wǎng)絡類型:NAT模式 硬盤大小:80G
最小化安裝 語言:英語
IP:192.168.180.131
yum安裝
配置nginx源
# 執(zhí)行如下命令 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # 運行如下 [root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm Retrieving http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm warning: /var/tmp/rpm-tmp.G6IXR0: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY Preparing... ################################# [100%] Updating / installing... 1:nginx-release-centos-7-0.el7.ngx ################################# [100%] # 出現(xiàn)如上所示,則配置成功,也可以在/etc/yum.repos.d/ 下看到多了一個nginx.repo文件 [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Media.repo docker-ce.repo CentOS-CR.repo CentOS-Sources.repo nginx.repo CentOS-Debuginfo.repo CentOS-Vault.repo CentOS-fasttrack.repo CentOS-x86_64-kernel.repo
執(zhí)行以下命令開始安裝
yum install -y nginx
啟動nginx
# 輸入如下命令,沒有報錯,則啟動成功 nginx
瀏覽器訪問, IP:80
源碼編譯安裝
下載安裝包
進入官網(wǎng)下載:nginx: download
上傳至虛擬機
新建一個目錄用來存放nginx 相關文件
mkdir -p /usr/local/nginx
將下載好的壓縮包上傳到剛剛新建好的目錄下并解壓
[root@localhost ~]# mkdir -p /usr/local/nginx [root@localhost nginx]# ll total 1052 -rw-r--r-- 1 root root 1073948 Mar 29 17:53 nginx-1.22.1.tar.gz # 解壓 tar -zxvf nginx-1.22.1.tar.gz [root@localhost nginx]# tar -zxvf nginx-1.22.1.tar.gz nginx-1.22.1/ nginx-1.22.1/auto/ nginx-1.22.1/conf/ nginx-1.22.1/contrib/ nginx-1.22.1/src/ nginx-1.22.1/configure nginx-1.22.1/LICENSE nginx-1.22.1/README nginx-1.22.1/html/ ············
安裝編譯環(huán)境
# 安裝gcc,源碼編譯依賴 gcc 環(huán)境 yum -y install gcc-c++ # 安裝pcre,pcre是一個perl庫,包括perl兼容的正則表達式庫,nginx的http模塊使用pcre來解析正則表達式,所以需要安裝pcre庫 yum install -y pcre pcre-devel # 安裝zlib,zlib 庫提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對 http 包的內(nèi)容進行 gzip yum install -y zlib zlib-devel # 安裝OpenSSL庫 yum install -y openssl openssl-devel
# 進入解壓后的目錄 [root@localhost ~]# cd /usr/local/nginx/ [root@localhost nginx]# ls nginx-1.22.1 nginx-1.22.1.tar.gz [root@localhost nginx]# cd nginx-1.22.1 [root@localhost nginx-1.22.1]# ll total 800 drwxr-xr-x 6 kaisa kaisa 326 Mar 29 17:55 auto -rw-r--r-- 1 kaisa kaisa 317399 Oct 19 16:02 CHANGES -rw-r--r-- 1 kaisa kaisa 485035 Oct 19 16:02 CHANGES.ru drwxr-xr-x 2 kaisa kaisa 168 Mar 29 17:55 conf -rwxr-xr-x 1 kaisa kaisa 2590 Oct 19 16:02 configure drwxr-xr-x 4 kaisa kaisa 72 Mar 29 17:55 contrib drwxr-xr-x 2 kaisa kaisa 40 Mar 29 17:55 html -rw-r--r-- 1 kaisa kaisa 1397 Oct 19 16:02 LICENSE drwxr-xr-x 2 kaisa kaisa 21 Mar 29 17:55 man -rw-r--r-- 1 kaisa kaisa 49 Oct 19 16:02 README drwxr-xr-x 9 kaisa kaisa 91 Mar 29 17:55 src
# 執(zhí)行安裝 ./configure make make install # 執(zhí)行完后 輸入 whereis nginx 檢查是否安裝成功,如果出現(xiàn)路徑則安裝成功 [root@localhost nginx-1.22.1]# whereis nginx nginx: /usr/local/nginx
# 啟動nginx,需進入安裝目錄 [root@localhost ~]# cd /usr/local/nginx/ [root@localhost nginx]# ls conf html logs nginx-1.22.1 nginx-1.22.1.tar.gz sbin [root@localhost nginx]# ./sbin/nginx # 查看進程 [root@localhost nginx]# ps -ef | grep nginx root 6787 1 0 18:15 ? 00:00:00 nginx: master process ./sbin/nginx nobody 6788 6787 0 18:15 ? 00:00:00 nginx: worker process root 6790 1415 0 18:16 pts/1 00:00:00 grep --color=auto nginx
瀏覽器查看訪問 IP:80
nginx常用命令
# 進入nginx的執(zhí)行目錄 cd /usr/local/nginx/sbin # 啟動nginx ./nginx # 停止nginx(強制停止) ./nginx -s stop # 退出nginx(安全退出) ./nginx -s quit # 重新加載配置文件(修改過配置文件后使用) ./nginx -s reload
# 防火墻相關命令 # 關閉防火墻 systemctl stop firewalld # 開啟防火墻 systemctl start firewalld # 查看防火墻狀態(tài) systemctl status firewalld # 查看防火墻規(guī)則 firewall-cmd --list-all # 查詢端口是否開放 firewall-cmd --query-port=80/tcp # 開放80端口 firewall-cmd --permanent --add-port=80/tcp # 關閉80端口 firewall-cmd --permanent --remove-port=8080/tcp # 重啟防火墻(修改配置后要重啟防火墻) firewall-cmd --reload
docker部署nginx
# 拉取鏡像 [root@localhost ~]# docker pull nginx Using default tag: latest latest: Pulling from library/nginx f1f26f570256: Pull complete 7f7f30930c6b: Pull complete 2836b727df80: Pull complete e1eeb0f1c06b: Pull complete 86b2457cc2b0: Pull complete 9862f2ee2e8c: Pull complete Digest: sha256:2ab30d6ac53580a6db8b657abf0f68d75360ff5cc1670a85acb5bd85ba1b19c0 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest # 查看鏡像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 080ed0ed8312 38 hours ago 142MB # 啟動容器 [root@localhost ~]# docker run -d --name mynginx -p 3600:80 nginx c4c63ea02cd8c4fb0fb4f99ed97319a28d13d88d45564290e9a605909227b3ed # 查看容器進程 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c4c63ea02cd8 nginx "/docker-entrypoint.…" 9 seconds ago Up 8 seconds 0.0.0.0:3600->80/tcp, :::3600->80/tcp mynginx
瀏覽器訪問 虛擬機IP:3600 (這里我做了端口映射 ,默認的話是80端口)
訪問成功!
到此這篇關于Centos7下安裝部署nginx的三種方式詳解的文章就介紹到這了,更多相關Centos7部署nginx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
nginx 499錯誤處理及nginx的配置參數(shù)小結
在項目容器化改造中,修改Nginx超時設置可解決499錯誤,本文就來介紹一下nginx 499錯誤處理及nginx的配置參數(shù)小結,感興趣的可以了解一下2024-09-09Nginx日志中request_time和upstream_response_time區(qū)別
Nginx日志中的request_time和upstream_response_time是關鍵的性能指標,本文就來介紹一下Nginx日志中request_time和upstream_response_time區(qū)別,具有一定的參考價值,感興趣的可以了解一下2024-11-11nginx重定向解決(rewrite or internal redirection&nb
本文主要介紹了nginx重定向解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11Nginx獲取客戶端真實IP(real_ip_header)的實現(xiàn)
在使用Nginx作為反向代理時,確保獲取客戶端真實IP是關鍵,通過配置real_ip_header和set_real_ip_from,Nginx可以正確解析X-Forwarded-For頭部信息,并更新$remote_addr為客戶端真實IP,下面就來具體介紹一下2024-10-10nginx代理多次302的解決方法(nginx Follow 302)
這篇文章主要介紹了nginx代理多次302的解決方法(nginx Follow 302),詳細的介紹了解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12Nginx stream 配置代理(Nginx TCP/UDP 負載均衡)
本文主要介紹了Nginx stream 配置代理(Nginx TCP/UDP 負載均衡),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11