Centos7下部署nginx(三种方式安装部署,图文结合超具体,适合初学者) ...

打印 上一主题 下一主题

主题 510|帖子 510|积分 1530

Centos7下部署nginx

ngxin是什么

Nginx (engine x) 是一个高性能的HTTP和反向署理web服务器,
Nginx是一款轻量级的Web 服务器/反向署理服务器及电子邮件(IMAP/POP3)署理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发本领强,事实上nginx的并发本领确着实同类型的网页服务器中体现较好,中国大陆利用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
nginx的作用

   反向署理、负载均衡
  正向署理和反向署理的区别

   正向署理是客户端和其他全部服务器的署理者,而反向署理是客户端和所要署理的服务器之间的署理
  正向署理:一般是像科学上网,任何可以毗连到该署理服务器的软件,就可以通过署理访问任何的其他服务器,然后把数据返回给客户端,这里署理服务器只对客户端负责
反向署理:客户端是无感知署理服务器的存在的,访问者者并不知道本身访问的是一个署理。因为客户端不须要任何配置就可以访问。例如我们访问百度,百度不止一个服务器,在多个地方都有服务器,而我们都是通过www.baidu.com这个域名去访问的。
安装部署

安装环境

系统:centos7 内存:4G
网络类型:NAT模式 硬盘大小:80G
最小化安装 语言:英语
IP:192.168.180.131
yum安装

配置nginx源
  1. # 执行如下命令
  2. rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  3. # 运行如下
  4. [root@localhost ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  5. Retrieving http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
  6. warning: /var/tmp/rpm-tmp.G6IXR0: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY
  7. Preparing...                          ################################# [100%]
  8. Updating / installing...
  9.    1:nginx-release-centos-7-0.el7.ngx ################################# [100%]
  10.    
  11. # 出现如上所示,则配置成功,也可以在/etc/yum.repos.d/ 下看到多了一个nginx.repo文件
  12. [root@localhost ~]# cd /etc/yum.repos.d/
  13. [root@localhost yum.repos.d]# ls
  14. CentOS-Base.repo       CentOS-Media.repo          docker-ce.repo
  15. CentOS-CR.repo         CentOS-Sources.repo        nginx.repo
  16. CentOS-Debuginfo.repo  CentOS-Vault.repo
  17. CentOS-fasttrack.repo  CentOS-x86_64-kernel.repo
复制代码
执行以下命令开始安装
   yum install -y nginx
    启动nginx
  1. # 输入如下命令,没有报错,则启动成功
  2. nginx
复制代码
  浏览器访问, IP:80
  

源码编译安装

   下载安装包
  进入官网下载:nginx: download

   上传至虚拟机
  新建一个目任命来存放nginx 相关文件
mkdir -p /usr/local/nginx
将下载好的压缩包上传到刚刚新建好的目录下并解压
  1. [root@localhost ~]# mkdir -p /usr/local/nginx
  2. [root@localhost nginx]# ll
  3. total 1052
  4. -rw-r--r-- 1 root root 1073948 Mar 29 17:53 nginx-1.22.1.tar.gz
  5. # 解压
  6. tar -zxvf nginx-1.22.1.tar.gz
  7. [root@localhost nginx]# tar -zxvf nginx-1.22.1.tar.gz
  8. nginx-1.22.1/
  9. nginx-1.22.1/auto/
  10. nginx-1.22.1/conf/
  11. nginx-1.22.1/contrib/
  12. nginx-1.22.1/src/
  13. nginx-1.22.1/configure
  14. nginx-1.22.1/LICENSE
  15. nginx-1.22.1/README
  16. nginx-1.22.1/html/
  17. ············
复制代码
  安装编译环境
  1. # 安装gcc,源码编译依赖 gcc 环境
  2. yum -y install gcc-c++
  3. # 安装pcre,pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
  4. yum install -y pcre pcre-devel
  5. # 安装zlib,zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzip
  6. yum install -y zlib zlib-devel
  7. # 安装OpenSSL库
  8. yum install -y openssl openssl-devel
复制代码
  1. # 进入解压后的目录
  2. [root@localhost ~]# cd /usr/local/nginx/
  3. [root@localhost nginx]# ls
  4. nginx-1.22.1  nginx-1.22.1.tar.gz
  5. [root@localhost nginx]# cd nginx-1.22.1
  6. [root@localhost nginx-1.22.1]# ll
  7. total 800
  8. drwxr-xr-x 6 kaisa kaisa    326 Mar 29 17:55 auto
  9. -rw-r--r-- 1 kaisa kaisa 317399 Oct 19 16:02 CHANGES
  10. -rw-r--r-- 1 kaisa kaisa 485035 Oct 19 16:02 CHANGES.ru
  11. drwxr-xr-x 2 kaisa kaisa    168 Mar 29 17:55 conf
  12. -rwxr-xr-x 1 kaisa kaisa   2590 Oct 19 16:02 configure
  13. drwxr-xr-x 4 kaisa kaisa     72 Mar 29 17:55 contrib
  14. drwxr-xr-x 2 kaisa kaisa     40 Mar 29 17:55 html
  15. -rw-r--r-- 1 kaisa kaisa   1397 Oct 19 16:02 LICENSE
  16. drwxr-xr-x 2 kaisa kaisa     21 Mar 29 17:55 man
  17. -rw-r--r-- 1 kaisa kaisa     49 Oct 19 16:02 README
  18. drwxr-xr-x 9 kaisa kaisa     91 Mar 29 17:55 src
复制代码
  1. # 执行安装
  2. ./configure
  3. make
  4. make install
  5. # 执行完后 输入 whereis nginx 检查是否安装成功,如果出现路径则安装成功
  6. [root@localhost nginx-1.22.1]# whereis nginx
  7. nginx: /usr/local/nginx
复制代码
  1. # 启动nginx,需进入安装目录
  2. [root@localhost ~]# cd /usr/local/nginx/
  3. [root@localhost nginx]# ls
  4. conf  html  logs  nginx-1.22.1  nginx-1.22.1.tar.gz  sbin
  5. [root@localhost nginx]# ./sbin/nginx
  6. # 查看进程
  7. [root@localhost nginx]# ps -ef | grep nginx
  8. root       6787      1  0 18:15 ?        00:00:00 nginx: master process ./sbin/nginx
  9. nobody     6788   6787  0 18:15 ?        00:00:00 nginx: worker process
  10. root       6790   1415  0 18:16 pts/1    00:00:00 grep --color=auto nginx
复制代码
  浏览器查察访问 IP:80
  

nginx常用命令

  1. # 进入nginx的执行目录
  2. cd /usr/local/nginx/sbin
  3. # 启动nginx
  4. ./nginx
  5. # 停止nginx(强制停止)
  6. ./nginx -s stop
  7. # 退出nginx(安全退出)
  8. ./nginx -s quit
  9. # 重新加载配置文件(修改过配置文件后使用)
  10. ./nginx -s reload
复制代码
  1. # 防火墙相关命令
  2. # 关闭防火墙
  3. systemctl stop firewalld
  4. # 开启防火墙
  5. systemctl start firewalld
  6. # 查看防火墙状态
  7. systemctl status firewalld
  8. # 查看防火墙规则
  9. firewall-cmd --list-all
  10. # 查询端口是否开放
  11. firewall-cmd --query-port=80/tcp
  12. # 开放80端口
  13. firewall-cmd --permanent --add-port=80/tcp
  14. # 关闭80端口
  15. firewall-cmd --permanent --remove-port=8080/tcp
  16. # 重启防火墙(修改配置后要重启防火墙)
  17. firewall-cmd --reload
复制代码
docker部署nginx

  1. # 拉取镜像
  2. [root@localhost ~]# docker pull nginx
  3. Using default tag: latest
  4. latest: Pulling from library/nginx
  5. f1f26f570256: Pull complete
  6. 7f7f30930c6b: Pull complete
  7. 2836b727df80: Pull complete
  8. e1eeb0f1c06b: Pull complete
  9. 86b2457cc2b0: Pull complete
  10. 9862f2ee2e8c: Pull complete
  11. Digest: sha256:2ab30d6ac53580a6db8b657abf0f68d75360ff5cc1670a85acb5bd85ba1b19c0
  12. Status: Downloaded newer image for nginx:latest
  13. docker.io/library/nginx:latest
  14. # 查看镜像
  15. [root@localhost ~]# docker images
  16. REPOSITORY   TAG                IMAGE ID       CREATED         SIZE
  17. nginx        latest             080ed0ed8312   38 hours ago    142MB
  18. # 启动容器
  19. [root@localhost ~]# docker run -d --name mynginx -p 3600:80 nginx
  20. c4c63ea02cd8c4fb0fb4f99ed97319a28d13d88d45564290e9a605909227b3ed
  21. # 查看容器进程
  22. [root@localhost ~]# docker ps
  23. CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS                                                                                                 PORTS                                   NAMES
  24. c4c63ea02cd8   nginx     "/docker-entrypoint.…"   9 seconds ago   Up 8 seconds                                                                                           0.0.0.0:3600->80/tcp, :::3600->80/tcp   mynginx
复制代码
  浏览器访问 虚拟机IP:3600 (这里我做了端口映射 ,默认的话是80端口)
  

访问乐成!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

花瓣小跑

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表