Kaynağa Gözat

新增prod环境

lzm 2 yıl önce
ebeveyn
işleme
9fd4f9975a

+ 11 - 0
pom.xml

@@ -83,6 +83,17 @@
                 <nacos.config.namespace>hw</nacos.config.namespace>
             </properties>
         </profile>
+        <profile>
+            <id>prod</id>
+            <properties>
+                <profiles.active>prod</profiles.active>
+                <nacos.server>19.135.91.130:8848</nacos.server>
+                <nacos.discovery.group>MZ</nacos.discovery.group>
+                <nacos.config.group>MZ</nacos.config.group>
+                <nacos.discovery.namespace>prod</nacos.discovery.namespace>
+                <nacos.config.namespace>prod</nacos.config.namespace>
+            </properties>
+        </profile>
     </profiles>
 
     <!-- 依赖声明 -->

+ 1 - 17
ruoyi-gateway/src/main/resources/bootstrap.yml

@@ -28,20 +28,4 @@ spring:
         shared-configs:
           - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
             group: @nacos.config.group@
-            namespace: @nacos.discovery.namespace@
-    sentinel:
-      # 取消控制台懒加载
-      eager: true
-      transport:
-        # 控制台地址
-        dashboard: 10.16.4.12:8718
-      # nacos配置持久化
-      datasource:
-        ds1:
-          nacos:
-            server-addr: 10.16.4.12:8848
-            dataId: sentinel-ruoyi-gateway
-            groupId: @nacos.discovery.group@
-            namespace: @nacos.discovery.namespace@
-            data-type: json
-            rule-type: flow
+            namespace: @nacos.discovery.namespace@

+ 24 - 0
ruoyi-ui/Dockerfile_Prod

@@ -0,0 +1,24 @@
+FROM node:lts-alpine as builder
+
+WORKDIR /code
+
+ADD package.json /code
+
+RUN npm install
+
+ADD . /code
+
+RUN npm run build:prod
+
+#环境变量写在build后面否则找不到指令
+ENV PROJECT_ENV production
+ENV NODE_ENV production
+
+FROM nginx:alpine
+# 设置时区
+#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+#RUN echo 'Asia/Shanghai' >/etc/timezone
+
+COPY --from=builder code/dist/  /usr/share/nginx/html/
+COPY ./docker/prod/nginx.conf   /etc/nginx/nginx.conf
+EXPOSE 80

+ 61 - 0
ruoyi-ui/docker/prod/nginx.conf

@@ -0,0 +1,61 @@
+user  nginx;
+worker_processes  auto;
+worker_rlimit_nofile 65535;
+
+error_log  /var/log/nginx/error.log notice;
+pid        /var/run/nginx.pid;
+
+
+events {
+    worker_connections  65535;
+}
+
+
+http {
+    include       /etc/nginx/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  /var/log/nginx/access.log  main;
+
+    sendfile        on;
+    #tcp_nopush     on;
+
+    keepalive_timeout  65;
+    client_max_body_size 15m;
+
+
+    server{
+        listen       80;
+        listen  [::]:80;
+        server_name  localhost;
+
+        location /prod-api/ {
+           proxy_pass http://19.135.92.130:9090/;
+        }
+        location /uploadPath/ {
+           proxy_pass http://19.135.92.130:9090/file/uploadPath/;
+        }
+        location / {
+            root /usr/share/nginx/html;
+            index index.html index.html;
+            try_files $uri $uri /index.html;
+        }
+    }
+
+    gzip        on;
+    gzip_http_version 1.0;
+    gzip_static        on;
+    gzip_min_length  1k;
+    gzip_buffers    4 16k;
+    #gzip_http_version 1.1;
+    gzip_comp_level  5; # 压缩级别
+    # 要压缩的mine类型
+    gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png image/svg+xml;
+    gzip_vary     off;
+    gzip_proxied    expired no-cache no-store private auth;
+    gzip_disable    "MSIE [1-6]\."; # IE6不支持gzip
+}

+ 24 - 0
ruoyi-web/Dockerfile_Prod

@@ -0,0 +1,24 @@
+FROM node:lts-alpine as builder
+
+WORKDIR /code
+
+ADD package.json /code
+
+RUN npm install
+
+ADD . /code
+
+RUN npm run build
+
+#环境变量写在build后面否则找不到指令
+ENV PROJECT_ENV production
+ENV NODE_ENV production
+
+FROM nginx:alpine
+# 设置时区
+#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
+#RUN echo 'Asia/Shanghai' >/etc/timezone
+
+COPY --from=builder code/dist/  /usr/share/nginx/html/
+COPY ./docker/prod/nginx.conf  /etc/nginx/nginx.conf
+EXPOSE 80

+ 61 - 0
ruoyi-web/docker/prod/nginx.conf

@@ -0,0 +1,61 @@
+user  nginx;
+worker_processes  auto;
+worker_rlimit_nofile 65535;
+
+error_log  /var/log/nginx/error.log notice;
+pid        /var/run/nginx.pid;
+
+
+events {
+    worker_connections  65535;
+}
+
+
+http {
+    include       /etc/nginx/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  /var/log/nginx/access.log  main;
+
+    sendfile        on;
+    #tcp_nopush     on;
+
+    keepalive_timeout  65;
+    client_max_body_size 15m;
+
+
+    server{
+        listen       80;
+        listen  [::]:80;
+        server_name  localhost;
+
+        location /prod-api/ {
+           proxy_pass http://19.135.92.130:9090/;
+        }
+        location /uploadPath/ {
+           proxy_pass http://19.135.92.130:9090/file/uploadPath/;
+        }
+        location / {
+            root /usr/share/nginx/html;
+            index index.html index.html;
+            try_files $uri $uri /index.html;
+        }
+    }
+
+    gzip        on;
+    gzip_http_version 1.0;
+    gzip_static        on;
+    gzip_min_length  1k;
+    gzip_buffers    4 16k;
+    #gzip_http_version 1.1;
+    gzip_comp_level  5; # 压缩级别
+    # 要压缩的mine类型
+    gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png image/svg+xml;
+    gzip_vary     off;
+    gzip_proxied    expired no-cache no-store private auth;
+    gzip_disable    "MSIE [1-6]\."; # IE6不支持gzip
+}