一、安装Nginx
1. 预安装nginx所需要的服务器库
# 预安装nginx所需要的服务器库。
sudo yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
2. 下载nginx安装包
# 下载nginx安装包
wget https://nginx.org/download/nginx-1.9.9.tar.gz
3. 安装nginx
# 解压缩nginx安装包
tar -zxvf nginx-1.9.9.tar.gz
# 进入nginx源代码目录
cd nginx-1.9.9
# 指定nginx安装路径
./configure --prefix=/usr/local/nginx/
# 编译安装nginx
make && make install
4. 设置nginx服务
编辑.service文件
# 编辑.service文件
sudo vi /etc/systemd/system/nginx.service
.service文件内容
[Unit]
# Description指定当前服务的简单描述。
Description=NGNIX HTTP and Reverse Proxy Server
# After表示当前服务在network.target之后启动,可以指定多个服务,以空格隔开。
After=network.target
[Service]
# ExecStart将以fork()方式启动,此时父进程将会退出,子进程将成为主进程。
Type=forking
# ExecStart指定启动进程时执行的命令。
# ExecReload指定当该服务被要求重新载入配置时所执行的命令。
# 另外,还有一个特殊的环境变量 $MAINPID 可用于表示主进程的PID,
# 例如可以这样使用:/bin/kill -HUP $MAINPID。
# 强烈建议将 ExecReload= 设为一个能够确保重新加载配置文件的操作同步完成的命令行。
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
#web服务设置私有/tmp或/var/tmp目录
PrivateTmp=true
[Install]
# “WantedBy=multi-user.target”表示当系统以多用户方式启动时,这个服务需要被自动运行。
WantedBy=multi-user.target
重新加载systemd配置文件
# 重载.service文件
sudo systemctl daemon-reload
启动nginx服务
# 测试服务状态
sudo systemctl status nginx
# 启动服务
sudo systemctl start nginx
# 停止服务
sudo systemctl stop nginx
# 重启服务
sudo systemctl restart nginx
设置开机启动
# 设置开机启动
sudo systemctl enable nginx
二、配置SpringBoot
1. 创建启动脚本,固定每次的启动目录。
编辑启动文件
# 创建Java工作目录
mkdir -p /usr/local/portal/java/
# 编辑启动脚本
vi /usr/local/portal/java/run_java.sh
启动文件内容
#! /bin/bash
# 进入脚本目录
cd "$(dirname "$0")"
work_dir="$(pwd)"
# 运行JAVA
java -jar portal.jar
2. 设置nginx服务
编辑.service文件
# 编辑.service文件
sudo vi /etc/systemd/system/portal.service
.service文件内容
[Unit]
# Description指定当前服务的简单描述。
Description= SJZT Portal Java Server for Development Environment
# After表示当前服务在network.target之后启动,可以指定多个服务,以空格隔开。
After=syslog.target network.target
[Service]
# User指定启动服务的用户。有权限等需要时可以指定用户。
User=ferrari
# ExecStart指定启动进程时执行的命令。
# ExecReload指定当该服务被要求重新载入配置时所执行的命令。
ExecStart=/usr/local/portal/java/run_java.sh
SuccessExitStatus=143
[Install]
# 表示当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
WantedBy=multi-user.target
重新加载systemd配置文件
# 重载.service文件
sudo systemctl daemon-reload
启动nginx服务
# 测试服务状态
sudo systemctl status portal
# 启动服务
sudo systemctl start portal
# 停止服务
sudo systemctl stop portal
# 重启服务
sudo systemctl restart portal
设置开机启动
# 设置开机启动
sudo systemctl enable portal
三、设置存放前端HTML的目录
1. 创建启前端目录。
# 创建前端目录
mkdir -p /usr/local/portal/ui/
2. 将Vue编译后的HTML放入前端目录。
# 存放HTML
mv -r /workspace/portal-vue/dist/* /usr/local/portal/ui/
四、修改Nginx配置
1. 修改nginx配置文件。
# 修改nginx配置文件
vi /root/wxportal/tools/nginx/conf/nginx.conf
2. 以下仅为相关修改内容。
# 前端HTML
location / {
root /usr/local/portal/ui;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# /portal-api/指向后端接口,8888为SpringBoot配置的端口。
location /portal-api/ {
proxy_pass http://localhost:8888/;
client_max_body_size 50m;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_cookie_path / /;
}
版权声明:本文为daybreaker原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。