做一个网站先做前段 还是后端,wordpress虎嗅,网页设计模板html代码,南宁专门建网站的公司部署 Linux 部署项目1. 宝塔部署1.1 前端部署1.2 后端部署 2. docker 部署2.1 后端部署2.2 前端部署 3. 跨域问题3.1 Nginx 代理#xff08;推荐#xff09;3.2 修改后端服务3.3 添加 web 全局请求拦截器 4. 域名解析DNSPod添加域名 Linux 部署项目
1. 宝塔部署 准备工作推荐3.2 修改后端服务3.3 添加 web 全局请求拦截器 4. 域名解析DNSPod添加域名 Linux 部署项目
1. 宝塔部署 准备工作 记得打开防火墙端口 查看面板地址后登录宝塔 /etc/init.d/bt default1.1 前端部署
点击网站选择 php 项目 添加站点输入域名提交 复制 dist 文件夹中的文件到根目录下已有文件就覆盖 1.2 后端部署 创建项目文件夹将 jar 包复制进去复制文件夹和文件名备用 点击网站选择 java 项目添加 java 项目输入信息注意图中化框部分然后提交
2. docker 部署
2.1 后端部署 Dockerfile 在后端根目录创建代码如下 FROM maven:3.5-jdk-8-alpine as builderWORKDIR /app
COPY pom.xml .
COPY src ./src# 用 maven 打包跳过测试
RUN mvn package -DskipTestsCMD [java,-jar,/app/target/user-center-0.0.1-SANPSHOT.jar,--spring.profiles.activeprod]将整个项目文件上传到服务器上如 /www/wwwroot/user-center/在该目录里根据 Dockerfile 构建镜像 FROM maven:3.5-jdk-8-alpine as builderWORKDIR /app
COPY pom.xml .
COPY src ./srcRUN mvn package -DskipTestsCMD [java,-jar,/app/target/user-center-0.0.1-SANPSHOT.jar,--spring.profiles.activeprod]# 没有权限时用 sudo注意最后的点
sudo docker build -t user-center:v0.0.1 .创建容器 # 后端 -p [主机] : [容器]
# -d 后台运行
docker run -p 8088:8088 -d user-center:v0.0.12.2 前端部署
创建 docker 目录里面放 Dockerfile 和 nginx.conf Dockerfile FROM nginxWORKDIR /usr/sharenginx/html/
USER rootCOPY ./docker/nginx.conf /etc/nginx/conf.d/default.confCOPY ./dist /usr/share/nginx/html/# 显示写出端口号并无实际作用
EXPOSE 80CMD [nginx,-g,daemon off;]nginx.conf server {listen 80;# gzip configgzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;gzip_disable MSIE [1-6]\.;root /usr/share/nginx/html;include /etc/nginx/mime.types;location / {try_files $uri /index.html;}}将整个项目文件上传到服务器上如 /www/wwwroot/user-center-frontend/在该目录里根据 Dockerfile 构建镜像 # 没有权限时用 sudo注意最后的点
sudo docker build -t user-center-front:v0.0.1 .创建容器 # 后端 -p [主机] : [容器]
# -d 后台运行
docker run -p 80:80 -d user-center-frontend:v0.0.13. 跨域问题
3.1 Nginx 代理推荐
# 跨域配置
location ^~ /api/ {proxy_pass http://127.0.0.1:8080/api/;add_header Access-Control-Allow-Origin $http_origin;add_header Access-Control-Allow-Credentials true;add_header Access-Control-Allow-Methods GET, POST, OPTIONS;add_header Access-Control-Allow-Headers *;if ($request_method OPTIONS) {add_header Access-Control-Allow-Credentials true;add_header Access-Control-Allow-Origin $http_origin;add_header Access-Control-Allow-Methods GET, POST, OPTIONS;add_header Access-Control-Allow-Headers DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range;add_header Access-Control-Max-Age 1728000;add_header Content-Type text/plain; charsetutf-8;add_header Content-Length 0;return 204;}
}3.2 修改后端服务
// 添加注解
CrossOrigin(origins http://43.138.134.226)3.3 添加 web 全局请求拦截器
Configuration
public class WebMvcConfg implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {//设置允许跨域的路径registry.addMapping(/**)//设置允许跨域请求的域名//当**Credentials为true时**Origin不能为星号需为具体的ip地址【如果接口不带cookie,ip无需设成具体ip】.allowedOrigins(http://localhost:9527, http://127.0.0.1:9527, http://127.0.0.1:8082, http://127.0.0.1:8083)//是否允许证书 不再默认开启.allowCredentials(true)//设置允许的方法.allowedMethods(*)//跨域允许时间.maxAge(3600);}
}4. 域名解析
DNSPod
可以设置二级域名 添加域名
在宝塔中添加域名注意要开启 nginx