liunx安装nginx1.18.0
Posted autofelix
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了liunx安装nginx1.18.0相关的知识,希望对你有一定的参考价值。
〝 古人学问遗无力,少壮功夫老始成 〞
liunx环境中安装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)