Centos7下部署nginx
ngxin是什么
Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,
Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內存少,并發(fā)能力強,事實上nginx的并發(fā)能力確實在同類型的網頁服務器中表現(xiàn)較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。
nginx的作用
反向代理、負載均衡
正向代理和反向代理的區(qū)別
正向代理是客戶端和其他所有服務器的代理者,而反向代理是客戶端和所要代理的服務器之間的代理
正向代理:一般是像科學上網,任何可以連接到該代理服務器的軟件,就可以通過代理訪問任何的其他服務器,然后把數(shù)據返回給客戶端,這里代理服務器只對客戶端負責
反向代理:客戶端是無感知代理服務器的存在的,訪問者者并不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。例如我們訪問百度,百度不止一個服務器,在多個地方都有服務器,而我們都是通過www.baidu.com這個域名去訪問的。
安裝部署
安裝環(huán)境
系統(tǒng):centos7 內存:4G
網絡類型:NAT模式 硬盤大?。?0G
最小化安裝 語言:英語
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
源碼編譯安裝
下載安裝包
進入官網下載: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 包的內容進行 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端口)
文章來源:http://www.zghlxwxcb.cn/news/detail-450309.html
訪問成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-450309.html
到了這里,關于Centos7下部署nginx(三種方式安裝部署,圖文結合超詳細,適合初學者)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!