centOS7安装nginx及nginx配置

1 安装gcc

gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言,一般阿里云、腾讯云的centOS7里面是都有的,没有安装的话会提示命令找不到。

首先:查看gcc版本

gcc -v

控制台输出日志

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 

如果没有的话就运行安装命令:

yum -y install gcc

2 pcre、pcre-devel安装

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

安装命令:

yum install -y pcre pcre-devel

控制台输出 日志如下:

[root@VM_0_14_centos /]# yum install -y pcre pcre-devel

Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
epel                                                                                                                                  | 4.7 kB  00:00:00     
extras                                                                                                                                | 2.9 kB  00:00:00     
os                                                                                                                                    | 3.6 kB  00:00:00     
updates                                                                                                                               | 2.9 kB  00:00:00     
(1/7): epel/7/x86_64/group_gz                                                                                                         |  95 kB  00:00:00     
(2/7): epel/7/x86_64/updateinfo                                                                                                       | 1.0 MB  00:00:00     
(3/7): os/7/x86_64/group_gz                                                                                                           | 153 kB  00:00:00     
(4/7): extras/7/x86_64/primary_db                                                                                                     | 206 kB  00:00:00     
(5/7): epel/7/x86_64/primary_db                                                                                                       | 6.9 MB  00:00:01     
(6/7): updates/7/x86_64/primary_db                                                                                                    | 3.8 MB  00:00:01     
(7/7): os/7/x86_64/primary_db                                                                                                         | 6.1 MB  00:00:01     
Package pcre-8.32-17.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package pcre-devel.x86_64 0:8.32-17.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                 Arch                                Version                                   Repository                       Size
=============================================================================================================================================================
Installing:
 pcre-devel                              x86_64                              8.32-17.el7                               os                              480 k

Transaction Summary
=============================================================================================================================================================
Install  1 Package

Total download size: 480 k
Installed size: 1.4 M
Downloading packages:
pcre-devel-8.32-17.el7.x86_64.rpm                                                                                                     | 480 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pcre-devel-8.32-17.el7.x86_64                                                                                                             1/1 
  Verifying  : pcre-devel-8.32-17.el7.x86_64                                                                                                             1/1 

Installed:
  pcre-devel.x86_64 0:8.32-17.el7                                                                                                                            
Complete!

3 zlib安装

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装

安装命令:

yum install -y zlib zlib-devel

输出日志如下:

[root@VM_0_14_centos /]# yum install -y zlib zlib-devel

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package zlib.x86_64 0:1.2.7-17.el7 will be updated
---> Package zlib.x86_64 0:1.2.7-18.el7 will be an update
---> Package zlib-devel.x86_64 0:1.2.7-18.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================
 Package                                 Arch                                Version                                   Repository                       Size
=============================================================================================================================================================
Installing:
 zlib-devel                              x86_64                              1.2.7-18.el7                              os                               50 k
Updating:
 zlib                                    x86_64                              1.2.7-18.el7                              os                               90 k

Transaction Summary
=============================================================================================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 140 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): zlib-devel-1.2.7-18.el7.x86_64.rpm                                                                                             |  50 kB  00:00:00     
(2/2): zlib-1.2.7-18.el7.x86_64.rpm                                                                                                   |  90 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                        449 kB/s | 140 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : zlib-1.2.7-18.el7.x86_64                                                                                                                  1/3 
  Installing : zlib-devel-1.2.7-18.el7.x86_64                                                                                                            2/3 
  Cleanup    : zlib-1.2.7-17.el7.x86_64                                                                                                                  3/3 
  Verifying  : zlib-devel-1.2.7-18.el7.x86_64                                                                                                            1/3 
  Verifying  : zlib-1.2.7-18.el7.x86_64                                                                                                                  2/3 
  Verifying  : zlib-1.2.7-17.el7.x86_64                                                                                                                  3/3 

Installed:
  zlib-devel.x86_64 0:1.2.7-18.el7                                                                                                                           

Updated:
  zlib.x86_64 0:1.2.7-18.el7                                                                                                                                 

Complete!

4 安装openssl

openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。

安装命令:

yum install -y openssl openssl-devel

控制台日志如下:

[root@VM_0_14_centos /]# yum install -y openssl openssl-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package openssl.x86_64 1:1.0.2k-12.el7 will be updated
---> Package openssl.x86_64 1:1.0.2k-19.el7 will be an update
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.2k-19.el7 for package: 1:openssl-1.0.2k-19.el7.x86_64
---> Package openssl-devel.x86_64 1:1.0.2k-19.el7 will be installed
... ... 

  libss.x86_64 0:1.42.9-17.el7        openssl-libs.x86_64 1:1.0.2k-19.el7     

Complete!

5 安装nginx

5.1 下载nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz  

控制台日志如下:

[root@VM_0_14_centos /]# wget http://nginx.org/download/nginx-1.9.9.tar.gz  
--2020-08-12 00:14:05--  http://nginx.org/download/nginx-1.9.9.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887908 (867K) [application/octet-stream]
Saving to: ‘nginx-1.9.9.tar.gz’

12% [=============>                         

等待执行到 100% 后
把压缩包解压到usr/local/java目录下

5.2 解压
tar -zxvf  nginx-1.9.9.tar.gz
5.3 编译

切换到 nginx 安装目录下面

cd /usr/local/java/nginx-1.9.9/

执行三个命令:

./configure
 
make
 
make install
5.4 配置

切换到/usr/local/nginx安装目录,配置nginx的配置文件nginx.conf文件。

/usr/local/nginx
5.5 启动nginx服务

切换目录到/usr/local/nginx/sbin下面
执行启动命令

./nginx
5.6 查看nginx服务是否启动成功
ps -ef | grep nginx

nginx默认监听的是 80端口,所以可以直接在你的浏览器中输入服务器地址访问,如果可以访问成功如下图所示的效果,则配置成功
在这里插入图片描述

5.7 nginx 的常用命令

1 启动nginx服务

 /usr/local/nginx/sbin/nginx

2 重启nginx服务

 /usr/local/nginx/sbin/nginx –s reload

3 停止nginx服务

 /usr/local/nginx/sbin/nginx –s stop

4 强制关闭nginx服务

pkill nginx

6 nginx.conf说明

#user  nobody;
worker_processes  1; #工作进程:数目。根据硬件调整,通常等于cpu数量或者2倍cpu数量。
 
#错误日志存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid; # nginx进程pid存放路径
 
 
events {
    worker_connections  1024; # 工作进程的最大连接数量
}
 
 
http {
    include       mime.types; #指定mime类型,由mime.type来定义
    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; #用log_format指令设置日志格式后,需要用access_log来指定日志文件存放路径
					
    sendfile        on; #指定nginx是否调用sendfile函数来输出文件,对于普通应用,必须设置on。
			如果用来进行下载等应用磁盘io重负载应用,可设着off,以平衡磁盘与网络io处理速度,降低系统uptime。
    #tcp_nopush     on; #此选项允许或禁止使用socket的TCP_CORK的选项,此选项仅在sendfile的时候使用
 
    #keepalive_timeout  0;  #keepalive超时时间
    keepalive_timeout  65;
 
    #gzip  on; #开启gzip压缩服务
 
    #虚拟主机
    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$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
        #    root           html; #根目录
        #    fastcgi_pass   127.0.0.1:9000; #请求转向定义的服务器列表
        #    fastcgi_index  index.php; # 如果请求的Fastcgi_index URI是以 / 结束的, 该指令设置的文件会被附加到URI的后面并保存在变量$fastcig_script_name中
        #    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; # ssl_prefer_server_ciphers  on; #
 
 
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
 
}
早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页