nginx1.21.3 的安装并添加开机启动

本文涉及的产品
云防火墙,500元 1000GB
简介: nginx1.21.3 的安装并添加开机启动



1.上传软件到 /usr/local/src/

cd /usr/local/src/

2.解压nginx 安装装依赖

yum -y install gcc gcc-c++ autoconf automake make  pcre-devel zlib-devel openssl openssl-devel 
tar xvf nginx-1.21.3.tar.gz

3.预编译

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

也可以根据自己需求安装

./configure --prefix=/usr/local/nginx    --with-http_ssl_module   --with-http_v2_module --with-http_stub_status_module   --with-pcre  --with-http_gzip_static_module  

解释

--with-http_gzip_static_module :支持压缩

--with-http_stub_status_module :支持nginx状态查询

--with-http_ssl_module :支持https

--with-http_spdy_module :支持google的spdy,想了解请百度spdy,这个必须有ssl的支持

--with-pcre :为了支持rewrite重写功能,必须制定pcre

 

4.编译

make && make install

5.添加系统变量  在文件 /etc/profile

在最后一行添加   export PATH=$PATH:/usr/local/nginx/sbin  

6.测试浏览器打开ip

/usr/local/nginx/sbin/nginx

浏览器打开输入对应的ip

注意:如果浏览器出不来,有可能是防火墙

如过防火墙开的

7.如不能访问,添加防火墙  

firewall-cmd --permanent --zone=public --add-port=80/tcp   ##添加80端口到白名单 执行
firewall-cmd --reload                                      ##重启防火墙
firewall-cmd --zone=public --list-ports                    ##查看已开放的端口

再次访问就好了

添加配置

client_max_body_size 100M;
        client_body_buffer_size 100M;  
        server_tokens off;              #关闭版本显示

添加配置   autoindex on;

可以访问目录结构

添加软连  ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

生成服务启动脚本

vim /etc/init.d/nginx

#!/bin/bash
# chkconfig: - 99 2
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
        start)
        $PROG
        ;;
        stop)
        kill -3 $(cat $PIDF)
        ;;
        restart)
        $0 stop &> /dev/null
        if [ $? -ne 0 ] ; then continue ; fi
        $0 start
        ;;
        reload)
        kill -1 $(cat $PIDF)
        ;;
        *)
        echo "Userage: $0 { start | stop | restart | reload }"
        exit 1
esac
exit 0

配置服务开机自动启动

[root@localhost ~]# chmod +x /etc/init.d/nginx

[root@localhost ~]# chkconfig --add nginx

[root@localhost ~]# chkconfig nginx on

[root@localhost ~]# chkconfig --list  

nginx配置ip限制 只允许特定ip访问

server {
        listen       80;
        server_name  localhost;
      
        location / {  
        allow 192.168.11.15;#允许访问      
      deny all;#别的都不能访问
           root /www/page;
           index index.html index.htm;
        }       
    }

配置转发

server {
        listen       443 ssl;
        server_name  XXX.XXX.com;
     
    ssl_certificate      cert/XXX.XXX.com.pem;
        ssl_certificate_key  cert/XXX.XXX.com.key;
        ssl_session_timeout  5m;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers  on;
             
     
      location /api { 
                rewrite ^/api(.*)$ $1 break; #加上这个,就把api过滤了,原来的接口不变
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto https;       
        proxy_pass http://127.0.0.1:8080;
              
    }
    
    
       location / { 
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://127.0.0.1/api/;
       }
  
    }

------------------

nginx 常用配置

rewrite ^(.*)$ https://$host$1 permanent;

rewrite ^/api(.*)$ $1 break;

server {
        listen       443 ;
        server_name  xxx.xxx.com;   
    ssl_certificate      cert/xxx.xxx.com.pem;
    ssl_certificate_key  cert/xxx.xxx.com.key;
    
    ssl_session_timeout  5m;
    ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers  on;
    
    location /api { #带api的重写
            rewrite ^/api(.*)$ $1 break;        
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;           
        proxy_pass http://127.0.0.1:7888/api;
        
    } 
    location / {            
           root /www/www/page;
           index index.html index.htm;
        }
    
    }

跨域问题添加:

server {
        listen       8878;
        server_name  localhost;
       location / {
            add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    
            root   /www/www;
            index  index.html index.htm;           
        }
    }
目录
相关文章
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
149 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
1月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
1月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
99 0
Mac os 安装 nginx 教程(success)
|
1月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
1月前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
1月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
1月前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
1月前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
304 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)