centos7安装nginx

导读:本篇文章讲解 centos7安装nginx,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.安装依赖

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
  • gcc-c++:安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境。 
  • pcre pcre-devel :PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正 则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上 安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。 
  • zlib zlib-devel:zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip    
  • openssl openssl-devel:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http)

2.进入安装目录,下载nginx

#进入安装目录
cd /usr/local

#下载nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz

3.解压文件

tar -zxvf nginx-1.18.0.tar.gz 

#进入安装目录
cd nginx-1.18.0/

4.配置

./configure --prefix=/usr/local/nginx --with-http_ssl_module

5.编译安装nginx

make
make install

6.设置nginx为开机自启动

vi /etc/init.d/nginx
#!/bin/sh  
# chkconfig: 2345 85 15  
# Startup script for the nginx Web Server  
# description: nginx is a World Wide Web server.   
# It is used to serve HTML files and CGI.  
# processname: nginx  
# pidfile: /usr/local/nginx/logs/nginx.pid  
# config: /usr/local/nginx/conf/nginx.conf  
  
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
DESC="nginx deamon"  
NAME=nginx  
DAEMON=/usr/local/nginx/sbin/$NAME  
SCRIPTNAME=/etc/init.d/$NAME  
  
test -x $DAEMON || exit 0  
  
d_start(){  
  $DAEMON || echo -n "already running"  
}  
  
d_stop(){  
  $DAEMON -s quit || echo -n "not running"  
}  
  
  
d_reload(){  
  $DAEMON -s reload || echo -n "can not reload"  
}  
  
case "$1" in  
start)  
  echo -n "Starting $DESC: $NAME"  
  d_start  
  echo "."  
;;  
stop)  
  echo -n "Stopping $DESC: $NAME"  
  d_stop  
  echo "."  
;;  
reload)  
  echo -n "Reloading $DESC conf..."  
  d_reload  
  echo "reload ."  
;;  
restart)  
  echo -n "Restarting $DESC: $NAME"  
  d_stop  
  sleep 2  
  d_start  
  echo "."  
;;  
*)  
  echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2  
  exit 3  
;;  
esac  
  
exit 0  

保存退出后。

使用下面的命令,使其可执行

 chmod +x /etc/init.d/nginx 

然后,添加配置并查看

#添加nginx服务到自启动
chkconfig --add nginx 
#on是开启 off关闭
chkconfig nginx on/off  

7.修改nginx.conf

cd /usr/local/nginx/conf
vim nginx.conf
worker_processes  4;

events {
    worker_connections  65535;
}


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"';

   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  /home/log/nginx/access.log  main;
	
	server_names_hash_bucket_size 128; 
    client_header_buffer_size 32k; 
    large_client_header_buffers 4 64k; 


    sendfile        on;
    autoindex       on; 
    tcp_nopush      on; 
    tcp_nodelay     on;
    keepalive_timeout  65;

    gzip on; 
	gzip_min_length 1k; 
	gzip_buffers 4 16k; 
	gzip_http_version 1.1; 
	gzip_comp_level 2; 
	gzip_types text/plain application/x-javascript text/css application/xml;
	gzip_vary on;
	#limit_zone crawler $binary_remote_addr 10m; 

    client_max_body_size 300m; 
	client_body_buffer_size 128k;
	proxy_connect_timeout 600;
	proxy_read_timeout 600;
	proxy_send_timeout 600;
	proxy_buffer_size 16k;
	proxy_buffers 4 64k;
	proxy_busy_buffers_size 128k;
	proxy_temp_file_write_size 128k;
	proxy_temp_path /usr/local/nginx/proxy_temp;
	proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_zone=tmpcache:200m inactive=1d max_size=2g;
	

    #配置文件加载
	include /usr/local/nginx/conf/conf.d/*.conf;

}

8.新建配置文件加载目录,对应上面conf的配置文件加载目录。后面可以将所有的配置文件放在该文件夹下面统一管理。

centos7安装nginx

upstream.conf管理所有的解析

upstream proxy-bt {
	server IP:端口号 weight=5 max_fails=2 fail_timeout=30s;
	keepalive 20;
}

每个应用一个配置文件,例如宝塔应用对应bt.conf

server
{
        listen 80;
        server_name bt2.XXX.com;

        location /
        {
                proxy_pass http://proxy-bt/;
                proxy_next_upstream http_502 http_504 error timeout invalid_header;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
        }


        #缓存静态资源
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|html|shtml|htm)$
        {
                proxy_cache tmpcache;
                proxy_cache_valid 200 304 12h;
                proxy_cache_valid 301 302 1m;
                proxy_cache_valid any 1m;
                proxy_cache_key $host$uri$is_args$args;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://proxy-bt;
        }
        #解析日志存放
        access_log /home/log/nginx/bt.log main;
}

 

9.nginx操作命令

相关操作命令
service nginx start

service nginx stop

service nginx reload

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97027.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!