1. Nginx代理配置

1.1. 主要的配置参考

...

server {
listen 80;
#ipv6配置
listen [::]:80;
#根据实际地址配置
server_name www.mingsoft.net;

#mcms所在的目录
root /data/mcms;

#启用ssl,去掉#注释
#listen 443 ssl http2;
#ssi on;
#ssi_silent_errors on;
#ssi_types text/shtml;
#set $flag 0;

#if ($server_port !~ 443){
# set $flag "${flag}1";
#}
#if ($request_method !~ ^(POST)$) {
# set $flag "${flag}1";
#}
#if ($flag = "011"){
# rewrite ^(/.*)$ https://$host$1 permanent;
#}

#ssl_certificate mcms.pem;
#ssl_certificate_key mcms.key;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
#ssl_prefer_server_ciphers on;
#ssl_session_cache shared:SSL:10m;
#ssl_session_timeout 10m;

location / {
    index default.html default.htm index.html index.htm;
    rewrite /  /index.do;
}

location ~ .*\.(do)$ {
    # 根据实际系统启动等地址配置
    proxy_pass http://127.0.0.1:8080;
    # 注意:如果使用了堡垒机端口映射,例如:映射端口8989 -> nginx端口80 -> mcms端口8080,需要将mcms端口8080修改成8989,如果遇到访问地址不正确,可以将$host:$server_port直接填写外网ip或域名与端端口(必须与实际端口一致)
    #proxy_set_header Host $host:$server_port;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    add_header Access-Control-Allow-Origin $http_origin;
    add_header Access-Control-Allow-Credentials true;
}

#代理jar包里面的js,如果遇到其他jar包按规则配置(也可以直接将资源文件复制到static目录-推荐)
location ~ /(static/mdiy|static/mweixin|static/datascope) {
    # 根据实际系统启动等地址配置
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    add_header Access-Control-Allow-Origin $http_origin;
    add_header Access-Control-Allow-Credentials true;
} 

#静态资源
location ~ /(static/plugins|html|upload){
    #缓存(天)
    expires 12d;
}
location ~ .*\.(gif|jpg|jpeg|png|html|htm|css|js)$ {
    expires 24h;
}
#屏蔽
location ^*/WEB-INF/ {
    deny all;
}
access_log /var/log/nginx/mcms.log;
}

...

[!tip]根据实际的域名进行配置调整(mcms所在的目录位置、服务器mcms文件夹结构 、nginx非80端口),注意:如果配置不正确会导致例如百度编辑器上传错误、404等问题

1.2. 动静分离部署配置(静态页面服务器)

如果是将静态文件同步到独立的服务器访问,只需要部署nginx不需要部署mcms的配置

...

server {
listen 80;
#ipv6端口80
listen [::]:80;
#根据实际地址配置
server_name www.mingsoft.net;

#如果只是代理生成好的静态文件,同时需要将template、upload、static同步到服务器
root /data/mcms/html/站点目录;

location / {
    index  default.html default.htm index.html index.htm;
}

#静态资源
location ~ /(static/plugins|html|upload|template){
    #缓存(天)
    expires 12d;
}
location ~ .*\.(gif|jpg|jpeg|png|html|htm|css|js)$ {
    expires 24h;
}
#屏蔽
location ^*/WEB-INF/ {
    deny all;
}
access_log /var/log/nginx/mcms.log;
}

...

[!tip]采用这种方式部署时,建议模版里面的路径都采用相对的路径,不要使用 {ms:global.url/}{ms:global.host/} 标签,这样生成的html就不会存在域名的信息,方便静态文件的部署

Copyright © mingsoft.net 2021 all right reserved,powered by Gitbook该文件修订时间: 2022-08-10 11:12:22

results matching ""

    No results matching ""

    results matching ""

      No results matching ""