
# 预安装nginx所需要的服务器库。 sudo yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel2. 下载nginx安装包
# 下载nginx安装包 wget https://nginx.org/download/nginx-1.9.9.tar.gz3. 安装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 install4. 设置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.jar2. 设置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.conf2. 以下仅为相关修改内容。
# 前端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 / /;
}