nginx 前后端项目

实现前后端分离,可以让前后端独立开发、独立部署、独立单测,双方通过JSON进行数据交互。
对于前端开发人员来说,不用每次调试都需要启动运行环境;对于后端开发人员来说 ,也不用在需要往JSP页面注入数据。
通过nginx来部署前端代码,可以帮助前端实现以下基本需求:

  • 保证系统安装nginx的前提条件下
  • 将前端代码打包上传至服务器

  • 后端代码打包上传至服务器,端口指定8080

  • 编辑nginx的配置文件nginx.conf

location / {
    root   /home/admin/test/dist;#前端代码绝对路径
    index  index.html index.htm;
}

location /prod-api/{ #/prod-api为访问后端服务统一前缀
    proxy_pass http://127.0.0.1:8080/; #后端服务地址
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size    100m;
}
  • 访问测试
  • nginx开启gzip压缩:网站开启gzip压缩,不仅能够节省带宽,也能够快速响应用户的访问
    #启用或禁用gzipping响应。
    gzip on;
    #设置用于压缩响应的缓冲区number和size。默认情况下,缓冲区大小等于一个内存页面。这是4K或8K,具体取决于平台。
    gzip_static on;
    #启用或禁用gzipping响应。
    gzip_buffers 4 16k;
    #设置level响应的gzip压缩。可接受的值范围为1到9。
    gzip_comp_level 5;
    #置将被gzip压缩的响应的最小长度。长度仅由“Content-Length”响应头字段确定。
    gzip_min_length 100;
    #匹配MIME类型进行压缩,text/html默认被压缩。        gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    				  '$status $body_bytes_sent "$http_referer" '
    				  '"$http_user_agent" "$http_x_forwarded_for"';
    #引入/usr/local/nginx/conf.d下面的所有配置文件
    include /usr/local/nginx/conf.d/*.conf;
    

     

问题描述

  1. 403 Forbidden问题
    查看nginx日志: cat /var/log/nginx/error.log
    通过日志可以发现是没有权限,我们看下nginx的配置文件,可以看到箭头所指的位置是nginx用户,我们修改成root用户就可以啦!

 

### PI/4 DQPSK 频率偏差补偿的方法 PI/4 DQPSK(Differential Quadrature Phase Shift Keying with π/4 shift)是一种改进型的调制方式,在无线通信系统中广泛应用。为了确保接收端能够正确解码发送的信息,频率偏差补偿至关重要。 #### 频率偏差的影响 当发射机和接收机之间的载波频率存在差异时,会产生相位旋转误差,这会影响星座图上各点的位置准确性,进而影响误比特率性能。因此,必须采取措施来消除这种由多普勒效应或其他因素引起的频偏[^1]。 #### 基于锁相环(PLL)的技术方案 一种常见的解决办法是利用锁相环来进行自动频率控制(AFC),即通过检测接收到信号中的相位变化趋势并调整本地振荡器LO的输出频率直至两者同步为止。具体来说: - **捕获阶段**:初始状态下快速粗略估计频差大小; - **跟踪模式**:一旦进入稳定状态,则采用更精细的方式微调以维持长时间内的精确锁定关系; 此过程可以借助软件无线电平台上的FPGA/CPU完成算法运算部分的工作,并配合模拟电路实现最终的功能需求。 ```cpp // C++伪代码展示基于PLL AFC原理的部分逻辑流程 void pllAfcLoop(float inputSignal[], float &localOscillatorFreq){ static float prevPhaseError = 0; // 计算当前时刻输入信号相对于理想位置的角度偏差 float currentPhaseError = calculatePhaseDifference(inputSignal); // 使用比例积分控制器更新VCO设置值 localOscillatorFreq += Kp * (currentPhaseError - prevPhaseError) + Ki * currentPhaseError; prevPhaseError = currentPhaseError; } ``` 对于π/4-DQPSK而言,由于其特殊的映射规则使得相邻符号间最小间隔增大到90度而不是传统意义上的45度,所以在设计具体的补偿策略时还需要考虑到这一点所带来的额外挑战——比如可能需要更加灵敏地捕捉较小幅度的变化量级等特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值