Linux 环境配置nginx

安装和配置 Nginx 在 Linux 环境下是一个常见的任务,以下是一份基础的步骤指南,以帮助你在 Linux 系统上安装和配置 Nginx。

步骤 1: 安装 Nginx

在 Ubuntu 上:
  1. 打开终端。

  2. 使用以下命令更新软件包列表:

    sudo apt update

  3. 安装 Nginx:

    sudo apt install nginx

  4. 安装完成后,启动 Nginx 服务:

    sudo systemctl start nginx

  5. 设置 Nginx 在系统启动时自动启动:

    sudo systemctl enable nginx

在 CentOS 上:
  1. 打开终端。

  2. 使用以下命令安装 epel-release(额外软件包源):

    sudo yum install epel-release

  3. 安装 Nginx:

    sudo yum install nginx

  4. 启动 Nginx 服务:

    sudo systemctl start nginx

  5. 设置 Nginx 在系统启动时自动启动:

    sudo systemctl enable nginx

步骤 2: 配置 Nginx

  1. 默认情况下,Nginx 的配置文件位于 /etc/nginx/nginx.conf。打开该文件进行编辑:

    sudo nano /etc/nginx/nginx.conf

  2. 修改配置文件内容,监听统一端口80路由到不同的应用:

    
    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    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"';
    
        #access_log  logs/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
        server {
            listen       80;
            server_name  localhost;
    		charset UTF-8;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
            
            location /gateway/ {//后台统一接口URL
                proxy_pass http://xxxx:8400/;
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-Host $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto "https";
                proxy_redirect      default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
                add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
                add_header 'Access-Control-Allow-Methods' 'GET,POST'; #支持的请求方式
                add_header 'Access-Control-Allow-Header' 'Content-Type,*'; #支持的媒体类型
            }
            location /test-a/ {
                proxy_pass http://localhost:8488/;
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-Host $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto "https";
                proxy_redirect      default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
                add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
                add_header 'Access-Control-Allow-Methods' 'GET,POST'; #支持的请求方式
                add_header 'Access-Control-Allow-Header' 'Content-Type,*'; #支持的媒体类型
            }
            location /test-store/ {
                proxy_pass http://localhost:8489/;
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-Host $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto "https";
                proxy_redirect      default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
                add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
                add_header 'Access-Control-Allow-Methods' 'GET,POST'; #支持的请求方式
                add_header 'Access-Control-Allow-Header' 'Content-Type,*'; #支持的媒体类型
            }
            location /test-b/ {
                proxy_pass http://localhost:8490/;
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-Host $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto "https";
                proxy_redirect      default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
                add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
                add_header 'Access-Control-Allow-Methods' 'GET,POST'; #支持的请求方式
                add_header 'Access-Control-Allow-Header' 'Content-Type,*'; #支持的媒体类型
            }
            location /test-c/ {
                proxy_pass http://localhost:8491/;
                proxy_set_header  Host $host;
                proxy_set_header X-Forwarded-Host $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto "https";
                proxy_redirect      default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
                add_header 'Access-Control-Allow-Origin' '*'; #允许来自所有的访问地址
                add_header 'Access-Control-Allow-Methods' 'GET,POST'; #支持的请求方式
                add_header 'Access-Control-Allow-Header' 'Content-Type,*'; #支持的媒体类型
            }
    		
           
    
           
            
             #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ \.php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        }
    	
    	
    	server {
    			listen       8489;
    			server_name  localhost;
    					client_max_body_size 10m;
    			
    			location / {
    				root   html/cloud_pc_store/;
    				index  index.html index.htm;
    			}
    
    			  location /api {
    				proxy_pass   http://127.0.0.1:8400/api;
    			}
    			
    			error_page   500 502 503 504  /50x.html;
    			location = /50x.html {
    				root   html;
    			}
    		}
       
    	server {
    			listen       8490;
    			server_name  localhost;
    					client_max_body_size 10m;
    
    			location / {
    				root   html/cloud_pc_supplier/;
    				index  index.html index.htm;
    			}
    
    			  location /api {
    				proxy_pass   http://127.0.0.1:8400/api;
    			}
    			location /dev_api{
    					proxy_pass   http://127.0.0.1:8400/api/system/admin/uploadtoupyun;
    				}
    
    			error_page   500 502 503 504  /50x.html;
    			location = /50x.html {
    				root   html;
    			}
    		}
    
    	server {
    			listen       8488;
    			server_name  localhost;
    					client_max_body_size 10m;
    			location / {
    				root   html/cloud_pc_admin/;
    				index  index.html index.htm;
    			}   
    								   
    					location /api {
    				proxy_pass   http://127.0.0.1:8400/api;
    			}   
    					
    			location /dev_api{   
    				proxy_pass   http://127.0.0.1:8400/api/system/admin/uploadtoupyun;
    			}
    		   
    		   location /h5 {
    				root   html/;
    				index  index.html index.htm;
    			}
    			error_page   500 502 503 504  /50x.html;
    			location = /50x.html {
    				root   html;
    			}
    			
    		 
    		}
    		
    	server {
    			listen       8491;
    			server_name  localhost;
    					client_max_body_size 10m;
    
    			location / {
    				root   html/cloud_pc_shop/;
    				index  index.html index.htm;
    			}
    
    			location /api {
    				proxy_pass   http://127.0.0.1:8400/api;
    			}
    			location /dev_api{
    				proxy_pass   http://127.0.0.1:8400/api/system/admin/uploadtoupyun;
    			}
    
    			error_page   500 502 503 504  /50x.html;
    			location = /50x.html {
    				root   html;
    			}
    		}
    
        server {
                listen       8492;
                server_name  localhost;
                        client_max_body_size 10m;
    
                location / {
                    root   html/wms-admin/;
                    index  index.html index.htm;
                }
    
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }
            }
    
       server {
                listen       8493;
                server_name  localhost;
                        client_max_body_size 10m;
    
                location / {
                    root   html/wms-ui/;
                    index  index.html index.htm;
                }
    
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }
            }
    
         server {
                listen       8494;
                server_name  localhost;
                        client_max_body_size 10m;
        
                location / {
                    root   html/wms-sms/;
                    index  index.html index.htm;
                }
    
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }
            }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443 ssl;
        #    server_name  localhost;
    
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;
    
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;
    
        #    location / {
        #        root   html;
        #        index  index.html index.htm;
        #    }
        #}
    
    }
    

  3. 在配置文件中,你可以修改监听端口、服务器块等。确保你了解每个配置项的作用,并根据需要进行修改。

  4. 保存并退出编辑器。

  5. 检查 Nginx 配置是否正确:

    sudo nginx -t

    如果一切正常,将会显示 "syntax is okay" 和 "test is successful"。

  6. 重启 Nginx 以应用新的配置:

    sudo systemctl restart nginx

步骤 3: 验证 Nginx 安装

  1. 打开你的 web 浏览器。

  2. 输入服务器的 IP 地址或域名。

    http://your_server_ip

    如果一切设置正确,你将看到默认的 Nginx 欢迎页面。

现在,你已经成功地在 Linux 环境下安装和配置了 Nginx。你可以继续学习 Nginx 的更高级配置,例如虚拟主机设置、SSL 配置等,以适应更复杂的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安吉弥勒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值