首页 > 系统相关 >Nginx安装部署

Nginx安装部署

时间:2023-09-12 10:34:21浏览次数:44  
标签:http usr nginx 部署 Nginx html proxy 安装 location


Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

 

 

 

一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。

1.选定源码目录

选定目录 /usr/local/

 

cd /usr/local/

 

2.安装PCRE库

cd /usr/local/

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz

tar -zxvf pcre-8.21.tar.gz

cd pcre-8.21

./configure

make

make install

 

3.安装zlib库

cd /usr/local/ 

wget http://zlib.net/zlib-1.2.8.tar.gz

tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8

./configure

make

make install

 

4.安装ssl

 

cd /usr/local/

wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz

tar -zxvf openssl-1.0.1c.tar.gz

./config

make

make install

 

5.安装nginx

 

Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

 

cd /usr/local/

wget http://nginx.org/download/nginx-1.2.8.tar.gz

tar -zxvf nginx-1.2.8.tar.gz

cd nginx-1.2.8  

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

make

make install

 

--with-pcre=/usr/src/pcre-8.21 指的是pcre-8.21 的源码路径。

--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。

 

6.启动

确保系统的 80 端口没被其他程序占用,

/usr/local/nginx/sbin/nginx

 

检查是否启动成功:

netstat -ano|grep 80 有结果输入说明启动成功

 

 

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

 

7.重启

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

 

8.修改配置文件

cd /usr/local/nginx/conf

vi nginx.conf

 

9.常用配置

#nginx运行用户和组
user    www www;  
#启动进程,通常设置成和cpu的数量相等
worker_processes  4;
 
#全局错误日志及PID文件
pid /var/run/nginx.pid;
error_log  /var/log/nginx/error.log;
 
events {
 #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
use epoll;
 #单个后台worker process进程的最大并发链接数
 worker_connections  10240;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
 include       mime.types;
 
 default_type  application/octet-stream;
 
 error_page 400 403 500 502 503 504  /50x.html;
 
 index index.html index.shtml
 
 autoindex off;
 
 fastcgi_intercept_errors on;
 
 sendfile        on;
 
 # These are good default values.
 tcp_nopush      on;
 tcp_nodelay     off;
 
 # output compression saves bandwidth
 gzip  off;
 #gzip_static on;
 #gzip_min_length  1k;
 gzip_http_version 1.0;
 gzip_comp_level 2;
 gzip_buffers  4 16k;
 gzip_proxied any;
 gzip_disable "MSIE [1-6]\.";
 gzip_types  text/plain text/html text/css application/x-javascript application/xml application/xml+rss text/javascript;
 #gzip_vary on;
 
 server_name_in_redirect off;
 
#设定负载均衡的服务器列表
 upstream portals {
 server 172.16.68.134:8082 max_fails=2 fail_timeout=30s;
 server 172.16.68.135:8082 max_fails=2 fail_timeout=30s;
                  
 server 172.16.68.137:8082 max_fails=2 fail_timeout=30s;
 }
 
 #upstream overflow {
 #       server 10.248.6.34:8090 max_fails=2 fail_timeout=30s;       
 #       server 10.248.6.45:8080 max_fails=2 fail_timeout=30s;       
 #}
 
 server {
 #侦听8080端口
 listen       8080;
 server_name  127.0.0.1;
 
 #403、404页面重定向地址
 error_page  403 = http://www.e100.cn/ebiz/other/217/403.html;
 error_page  404 = http://www.e100.cn/ebiz/other/218/404.html;
 proxy_connect_timeout      90;
 proxy_send_timeout         180;
 proxy_read_timeout         180;
 
 proxy_buffer_size 64k;
 proxy_buffers 4 128k;
 proxy_busy_buffers_size 128k;
 
 
 client_header_buffer_size 16k;
 large_client_header_buffers 4 64k;
 
 #proxy_send_timeout         3m;
 #proxy_read_timeout         3m;
 #proxy_buffer_size          4k;
 #proxy_buffers              4 32k;
 
 proxy_set_header Host $http_host;
 proxy_max_temp_file_size 0;
 #proxy_hide_header Set-Cookie;
                  
 #       if ($host != 'www.e100.cn' ) {
 #                rewrite ^/(.*)$ http://www.e100.cn/$1 permanent;
 #       }
 
 
 location / {
     deny all;
 }
 
 location ~ ^/resource/res/img/blue/space.gif {
 proxy_pass http://tecopera;
      }
 
 location = / {
 rewrite ^(.*)$  /ebiz/event/517.html last;
 }
 
 
 
 location = /ebiz/event/517.html {
 add_header Vary Accept-Encoding;
 root /data/web/html;
 expires 10m;
 
 
 
 
 
 location = /check.html {
 root /usr/local/nginx/html/;
 access_log off;
 }
 
 location = /50x.html {
 root /usr/local/nginx/html/;
 
 access_log off;
 }
 
 
 location = /index.html {
     add_header Vary Accept-Encoding;
#定义服务器的默认网站根目录位置
 root /data/web/html/ebiz;
 expires 10m;
 }
#定义反向代理访问名称
 location ~ ^/ecps-portal/* {
 # expires 10m;
#重定向集群名称
 proxy_pass http://portals;
 #proxy_pass http://172.16.68.134:8082;
      }
 
 location ~ ^/fetionLogin/* {
 # expires 10m;
 proxy_pass http://portals;
 #proxy_pass http://172.16.68.134:8082;
 }
 
 #location  ~ ^/business/* {                                                                     
 #   # expires 10m;                                                                                
 #    proxy_pass http://172.16.68.132:8088;                                                                   
      #    #proxy_pass http://172.16.68.134:8082;                                                       
 #}
 
 location ~ ^/rsmanager/* {
 expires 10m;
 root /data/web/;
 #proxy_pass http://rsm;
      }
#定义nginx处理的页面后缀
 location ~* (.*)\.(jpg|gif|htm|html|png|js|css)$  {
 root /data/web/html/;
#页面缓存时间为10分钟
          expires 10m;
 }
 
#设定查看Nginx状态的地址     
 location ~* ^/NginxStatus/ {
 
 access_log off;
 allow 10.1.252.126;
 allow 10.248.6.49;
 allow 127.0.0.1;
 deny all;
 }
 #       error_page   405 =200 @405;
 #       location @405
 #       {
 #                proxy_pass http://10.248.6.45:8080;
 #       }  
 
 access_log  /data/logs/nginx/access.log combined;
 error_log   /data/logs/nginx/error.log;
 }
 server {
 listen       8082;
 
 server_name  _;
 location = /check.html {
 root /usr/local/nginx/html/;
 access_log off;
 }
                  
 }
 server {
 listen       8088;
 server_name  _;
 location ~ ^/* {
 root /data/web/b2bhtml/;
 access_log off;
 }                
 }
 server {
 listen       9082;
 server_name  _;
 
 #        location ~ ^/resource/* {
 #            expires 10m;
 #           root /data/web/html/;
 #       }
 
 location  / {
   
     if (!-f $request_filename) {
 rewrite ^/(.*)$ /sysMaintain.html last;
                    
 }
 }
 
}

标签:http,usr,nginx,部署,Nginx,html,proxy,安装,location
From: https://blog.51cto.com/u_16255870/7443212

相关文章

  • 同时安装python2和python3的切换与配置
    windows环境下同时安装了python2和python3,通过命令行窗口运行python脚本:1、python调用py-2调用python2py-3调用python3python脚本需要在python2下运行,在脚本前加上,然后运行pyxxx.py#!python2python脚本需要在python3下运行,在脚本前加上,然后运行pyxxx.py#!python3......
  • CentOS安装git
    一、使用yum安装Git1.查看yum源仓库的Git信息使用yuminfogit查看[root@localhost~]#yuminfogitLoadedplugins:fastestmirror,langpacksRepodataisover2weeksold.Installyum-cron?Orrun:yummakecachefastDeterminingfastestmirrorsAvailablePac......
  • 如何在电脑上安装jdk
    首先,jdk目前有很多个版本,我们需要分清楚jdk与java8(也就是jre)的区别,jdk全称是(JavaEEDevelopment)在里面包括了完整的JRE以及用于开发、调试和监视Java应用程序的工具。而jre就是一个包含在系统上运行Java应用程序所需的一切。总而言之,一个是开发环境,一个是开发工具。Java......
  • ubuntu22.04在线安装.net6SDK
    运行以下命令,查找下载对应包文件sudoaptupdate&&sudoaptinstalldotnet6如果只想安装部分组件,命令如下://仅安装特定组件sudoaptinstalldotnet-sdk-6.0sudoaptinstalldotnet-runtime-6.Osudoaptinstallaspnetcore-runtime-6.0 但是运行命令后......
  • 从源代码安装UE5.2
    总体上按照UE5在文档上源码编译流程进行安装,这里只说几个遇到的问题。出现MSB错误:查看log是否出现过warning,MSB错误可能是由于之前的其他问题导致的。在无其他问题的状况下,考虑是否是中文路径,或者路径长度突破了windows中260字符的限制。启动UE5.2后无法新建项目,输出错误为???......
  • 在VMware虚拟机集群上部署HDFS集群
    本篇博客跟大家分享一下如何在VMware虚拟机集群上部署HDFS集群一·、下载hadoop安装包进入官网:https://hadoop.apache.org 下载hadoop安装包由于ApacheHadoop是国外网址,下载安装包对于网络要求较高 二、上传压缩包,进行解压在进行解压之前,保证自己已经完成vmwa的黄静配置 三、......
  • 2023年RubyMine下载、安装、激活教程,亲测可用
    1RubyMine简介RubyMine是一个为Ruby和Rails开发者准备的IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中,号称最智能的Ruby和Rails的IDE,能够大大增加Ruby和Rails开发者的开发效率。2RubyMine下载官网下载地址,请根据您的操作系统进行选择:Windows8......
  • IntelliJ IDEA 最新下载、安装教程、激活教程,亲测可用
    下载与安装IDEA首先先到官网下载最新版的IntelliJIDEA,下载后傻瓜式安装就好了 1、下载完后在本地找到该文件,双击运行idea安装程序2、点击Next3、选择安装路径,Next4、按需求选择,点击Next5、默认,不用改,直接点Install,安装6、安装完成后,点击Finish,也可勾选RunIntellijIDEA......
  • FL Studio Producer Edition 21.0.3.3713中文完整版功能特点及安装激活教程
    FLStudioProducerEdition21中文完整版是一款由ImageLine公司研发几近完美的虚拟音乐工作站,同时也是知名的音乐制作软件。它让你的计算机就像是全功能的录音室,漂亮的大混音盘,先进的创作工具,让你的音乐突破想象力的限制。它可以播放由你指定或加入的任何取样数据(wav),音频产生......
  • centos如何安装apt?
    在CentOS系统上,apt是Debian和Ubuntu等基于Debian的发行版上的包管理器,而CentOS使用的是基于RedHat的包管理器yum或dnf。如果你希望在CentOS上使用apt,你需要安装apt的替代品aptitude。以下是在CentOS上安装aptitude的步骤:打开终端并切换到root用户或具......