Linux系统中安装Nginx

提前预知

Nginx一般都是安装在Linux系统中(当然Windows系统中也可以装)

安装Ngnix依赖下面的环境:

pcre
openssl
zlib

我们先用命令检查一下相应的依赖存在不存在,存在就不需要再安装了:

rpm -qa|grep pcre

rpm -qa|grep openssl

rpm -qa|grep zlib

在这里插入图片描述

如果相关的依赖不存在可按需下载安装,下载方式如下,如果想省事可以直接通过下面的命令安装这些依赖

- 直接使用命令下载并安装:
- 分开下载:
	- yum install -y make zlib zlib-devel
	- yum install -y make gcc-c++ libtool
	- yum install -y openssl openssl-devel
- 合在一起下载:
	- yum install -y make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
	- make的作用是下载后直接编译

下载依赖地址

下载pcre

下载链接:https://ftp.pcre.org/pub/pcre/

下载zlib

下载链接:http://www.zlib.net/fossils/

下载openssl

下载链接:https://www.openssl.org/source/old/

下载Nginx

下载链接:http://nginx.org/en/download.html

我下载的版本如下:
在这里插入图片描述

安装Nginx的准备

我将Nginx安装在/usr/lib目录下:

使用远程工具(xshell)将文件传输到/usr/lib目录下

注意:通过远程工具向Linux系统中拖拽文件时,需要修改Linux系统中文件夹的权限

- 往哪个文件夹中上传文件,就要修改那个文件夹的权限
- 此处修改/usr/lib文件夹的权限
- 修改权限需要使用管理员权限:su root
- 修改权限,在usr目录下执行命令:chmod 777  /usr/lib

安装nginx

安装在/usr/lib目录下:

- 执行命令进行解压:tar -zxvf  nginx-1.12.2.tar.gz
- 进入解压后的文件:cd nginx-1.12.2/
- 执行命令生成配置文件:./configure
- 然后执行命令进行编译和安装:make&&make install

- 装完ngnix之后,会自动在/usr/local文件夹中创建一个ngnix
-/usr/local/ngnix文件夹下,有一个sbin启动脚本
- 启动ngnix服务器,进入这个脚本文件夹/usr/local/ngnix/sbin,执行命令:./nginx
- 可以通过这个命令查看服务是否启动:ps -ef|grep ngnix
- 通过这个命令可以杀死进程(关闭Nginx服务器):kill -9 进程ID

访问ngnix服务器

访问方式:IP+端口号

- 在/usr/local/nginx/conf/文件夹下有一个nginx.conf文件,这个文件就是ngnix的配置文件

- 在这个文件里面设置ngnix监听的端口号:默认80端口

在这里插入图片描述

直接访问可能访问不到,因为Linux中有防火墙,下面对防火墙进行设置:
- 查看开放的端口号:firewall-cmd --list-all
- 设置开放端口号:sudo firewall-cmd --add-port=80/tcp --permanent
- 重启防火墙:firewall-cmd --reload

现在外部就可以访问80端口了

浏览器访问链接(我的虚拟机IP为192.168.1.101):http://192.168.1.101/:80

  • 由于80是默认端口,也可以省略不写
  • 访问成功页面:
    在这里插入图片描述

Nginx常用命令

注意:使用Nginix的命令的时候要先进入带Ngnix可执行文件的目录中去(和windows是一样的,不配置环境变量就要到bin目录下去执行命令),如果按照我们上面的安装位置来说,这个目录就在:/usr/local/nginx/sbin

  • 查看Ngnix版本号
命令:./nginx -v
  • 启动Nginx
命令:./nginx 
  • 关闭Nginx
命令:./nginx -s stop
  • 重新加载Nginx:修改配置文件之后,不重启直接重新加载时使用
命令:./nginx -s reload

Nginx配置文件(了解)

如果你把Nginx安装在/usr/lib目录下,配置文件的位置就在/usr/local/nginx/conf/文件夹下,名字为nginx.conf,这个文件就是nginx的配置文件

配置文件组成:

第一部分:全局块
	位置:从配置文件开始到events块之间的内容
第二部分:events块
	位置:events{    }
第三部分:http块
	位置:http{   }

全局块

主要包括配置运行Nginx服务器的用户组,允许生成的worker process数,进程PID存放路径,日志存放路径以及配置文件的引入等

#user  nobody;
worker_processes  1;	//配置Ngnix处理并发的数量,越大,处理并发数量越多

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events块

主要影响Nginx服务器与用户网络连接
比如:worker connections 1024;,支持最大连接数为1024
这部分在使用中应该灵活配置

events {
    worker_connections  1024;
}

http块

这部分是Nginx服务器中配置最频繁的部分,代理,缓存,日志定义,绝大多的数功能和第三方模块的配置都在这里。

  • 注意:http块也可以包括:http全局块server块
  • http全局块:配置的指令有,文件引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等。
  • server块:和虚拟主机有密切关系,虚拟主机从用户角度看和一台独立的计算机是一样的,该技术就是为了节约互联网服务器硬件成本。
  • 每个http块可包含多个server块,每个server块就相当于一个虚拟主机
  • server块也可分为:全局server块,以及同时包含多个location块
  • 全局server块:最常见的配置是虚拟主机的监听配置和本虚拟主机的名称或IP配置
  • location块:一个server块中可以配置多个location块
http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彤彤的小跟班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值