liunx安装nginx1.18.0

Posted autofelix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了liunx安装nginx1.18.0相关的知识,希望对你有一定的参考价值。

〝 古人学问遗无力,少壮功夫老始成 〞

liunx环境中安装nginx超详细步骤,很多人在刚开始安装nginx环境的时候都会一筹莫展,飞兔小哥带你轻松玩转环境部署,希望如果觉得这篇文章能给你带来一点帮助,希望给飞兔小哥哥一键三连,表示支持,谢谢各位小伙伴们~

目录

一、安装依赖包

二、下载Nginx包

三、解压压缩包

四、生成配置

五、编译安装

六、查看编译结果

七、启动nginx服务

 八、测试是否成功

九、优化环境变量配置

十、优化nginx配置文件 

十一、重新启动nginx


一、安装依赖包

  • 命令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
  • 运行 

二、下载Nginx包

  • 命令
cd /usr/local/src/

wget http://nginx.org/download/nginx-1.18.0.tar.gz
  • 运行 

三、解压压缩包

  • 命令
tar -zvxf nginx-1.18.0.tar.gz
  • 运行 

四、生成配置

  • 命令
cd nginx-1.18.0/

./configure
  • 运行 

五、编译安装

  • 命令 
make && make install
  • 运行 

六、查看编译结果

  • 命令
cd /usr/local/nginx/

ll

cd conf/

ll
  • 运行 

七、启动nginx服务

  • 命令
./sbin/nginx -t

./sbin/nginx -s reload
  • 运行
  • 如果出现 invalid PID number 错误,请先运行 ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf 命令

 八、测试是否成功

  • 直接访问IP地址,如果成功则出现以下界面

九、优化环境变量配置

  • 命令
  • 将ngxin加入到环境变量中,让我们在任何地方都可以使用到nginx命令
vim /etc/profile

# 在文件的末尾加上以下代码
export PATH=$PATH:/usr/local/nginx/sbin

# 使得配置文件生效
source /etc/profile
  • 运行

十、优化nginx配置文件 

  •  原生编译生成的nginx配置文件都在 /usr/local/nginx/conf/
  • 后期不论是负载均衡还是nginx端口监听都在 nginx.conf 这一个文件中,显得非常的不人性化,如果要监听多个域名的话,这个文件将会越来越大,不好管理
  • 我们需要将原生的nginx.conf 的这个配置文件拆分开,使得后期在管理多个域名的时候,变得容易
  • 首先我们建立一个 conf.d 文件夹用来管理以后的域名监听
  • 然后我们将默认的nginx.conf 文件给重新命个名 nginx.conf.bak 扔到一边,重新命名而不是直接删除,是为了防止你在拆分的时候出现问题,可以将这个文件恢复以作救场
  • 我们然后自己重新建立一个nginx.conf用来作为nginx的配置项和负载均衡的一些后期全局配置,在conf.d 中新建一个 default.conf 用来监听服务器所有域名
  • 新建conf.d 文件夹如下

  • 将默认的 nginx.conf文件重命名扔一边,以做备用
  • 重新建nginx.conf文件

  • conf.d 文件夹中新建一个default.conf 文件

  •  新nginx.conf文件中的内容
#--------------------sh create-----------------------------------------------
# 这个配置在Linux操作系统中是必须的,nginx是一个linux下的用户
#是安装Nginx软件时Nginx软件默认创建的,该用户名不得修改否则Nginx将无法启动
#----------------------------------------------------------------------
user              nginx;
#----------------------------------------------------------------------
#worker_processes指明了nginx要开启的进程数。
#据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。
#nginx的这个参数在一般情况下开4个或8个就可以了,再往上开的话优化不太大。
#nginx开启太多的进程,会影响主进程调度,所以占用的cpu会增高。
#官方的建议是修改成CPU的内核数
#假设你的电脑是双核的,按理说应该是2,但是实际上应该是4,因为是双线程的
#这时你可以把worker_processes设置为4
#----------------------------------------------------------------------
worker_processes  1;
#----------------------------------------------------------------------
#error_log是Nginx的错误日志
#Nginx把错误分为八种:debug info warn error crit alert emerg notice
#如果你想根据错误的类型分配不同的错误日志,你可以参考下面的写法
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;
#----------------------------------------------------------------------
error_log  /var/log/nginx/error.log;
#进程管理文件
pid        /var/run/nginx.pid;
#-------------------------------------------------------------------------
#events配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
#----------------------------------------------------------------------------
events 
    worker_connections  1024;

#-------------------------------------------------------------------------
#http配置可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
#-------------------------------------------------------------------------
http 
    #Nginx可以识别的所有文件类型
    include       /usr/local/nginx/conf/mime.types;
    #默认的优先解释的文件类型
    default_type  application/octet-stream;
    #负载均衡的反向代理分发选项
    #upstream web
         #server 服务器的地址 weight=1 max_fails=3 fail_timeout=20s;
         #server 服务器的地址   weight=1 max_fails=3 fail_timeout=20s;
    #
    #访问日志格式,一般不需要修改,包括了用户的ip,浏览器,时区等信息
    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  /var/log/nginx/access.log  main; #访问日志格式存放路径
    #是否允许文件传输
    sendfile        on;
    #连接nginx的超时时间
    keepalive_timeout  65;
    #是否启动gzip压缩,on代表启动,off代表开启
    #gzip  on;
    #需要压缩的常见静态资源
    #gzip_types text/plain application/javascript   application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    #由于nginx的压缩发生在浏览器端而微软的ie6很坑爹,会导致压缩后图片看不见所以该选项是禁止ie6发生压缩
    #gzip_disable "MSIE [1-6]\\.";
    #如果文件大于1k就启动压缩
    #gzip_min_length 1k;
    #以16k为单位,按照原始数据的大小以4倍的方式申请内存空间,一般此项不要修改
    #gzip_buffers 4 16k;
    #压缩的等级,数字选择范围是1-9,数字越小压缩的速度越快,消耗cpu就越大
    #gzip_comp_level 2; 
    #引导的在/etc/nginx/conf.d目录下所有后缀为.conf的子配置文件
    include /usr/local/nginx/conf/conf.d/*.conf;
  •  新default.conf 文件中的内容
server 
    listen       80;
    #server_name _;
    charset utf-8;
    root   /var/www/html;

    #location ~ .*\\.(jpg|jpeg|gif|css|png|js|ico|mp3|mp4|swf|flv)
      #expires nd;
    #

    location / 
        index  index.php index.html index.htm;
    
    
    #location / 
            #proxy_pass http://web/;
    #

    # 如果仅仅需要支持php请打开下面的配置
    #location ~ \\.php$ 
        #fastcgi_pass   127.0.0.1:9000;
        #fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        #include        fastcgi_params;
    #

    # 如果支持php的框架比如laravel/thinkphp请打开下面的配置
    #location ~ .+\\.php($|/) 
	    #set $script    $uri;
	    #set $path_info  "/";
	    #if ($uri ~ "^(.+\\.php)(/.+)") 
	        #set $script     $1;
	        #set $path_info  $2;
	    #
	    #fastcgi_pass 127.0.0.1:9000;
	    #fastcgi_index  index.php?IF_REWRITE=1;
	    #include fastcgi_params;
	    #fastcgi_param PATH_INFO $path_info;
	    #fastcgi_param SCRIPT_FILENAME  $document_root/$script;
	    #fastcgi_param SCRIPT_NAME $script;
	#

十一、重新启动nginx

  • 在做完上面的优化后,我们需要重新启动nginx
nginx -t

nginx -s reload
  • 如果报没有 nginx 的用户项的话,需要添加
useradd nginx
  • 如果报没有 /var/log/nginx/ 文件夹的话,需要创建
mkdir -p /var/log/nginx/
  • 如果出现 invalid PID number 错误,请指定配置运行
nginx -c /usr/local/nginx/conf/nginx.conf 

以上是关于liunx安装nginx1.18.0的主要内容,如果未能解决你的问题,请参考以下文章

nginx集群:nginx配置负载均衡集群(nginx1.18.0)

nginx集群:nginx配置负载均衡集群(nginx1.18.0)

ES之词库的动态添加

Liunx基础操作之通过yum库安装应用

liunx中安装软件的几种方式

Liunx的RPM和源码包(CentOS)