心得:
關於如何安裝Tomcat,可以參考
CentOS 7 安裝 Apache Tomcat 8 & ServerJRE 8

Tomcat:
設定檔暫時保持預設

Nginx:
官方下載

基本上官方已經Linux 主流的 Distro 如何安裝都有介紹,這邊就主要說明CentOS 7
將Nginx加入repo,以利後續安裝

# vim /etc/yum.repos.d/nginx.repo
[nginx]
 name=nginx repo
 baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
 gpgcheck=0
 enabled=1

CentOS 7 使用的話,請將OS修改為CentOS,OSRELEASE修改為7,如下

[nginx]
 name=nginx repo
 baseurl=http://nginx.org/packages/CentOS/7/$basearch/
 gpgcheck=0
 enabled=1

進行yum 更新

# yum update -y

安裝nginx

# yum install nginx

啟動nginx

# systemctl start nginx

設定開機啟動nginx

# systemctl enable nginx

沒有意外,瀏覽器上面輸入您的Server IP
應該可以看到nginx的welcome page
假如有問題,可以先檢查selinux與Firewalld兩塊,比較容易忽略設定的部分

nginx裝好之後,預設有/etc/nginx/nginx.conf
與/etc/nginx/conf.d/default.conf兩個設定檔

個人通常是把nginx的設定整合成一個,這部份看個人習慣
但如果真的太多站台,還是建議分開設定檔去做比較理想

# vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
use epoll;
worker_connections 8192;
}

http {
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;
tcp_nodelay on;
keepalive_timeout 60;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 50m;

include /etc/nginx/mime.types;
default_type application/octet-stream;

gzip on;
gzip_disable "msie6";

#gzip_vary on;
#gzip_proxied any;
#gzip_comp_level 6;
#gzip_buffers 16 8k;
#gzip_http_version 1.1;
#gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;

upstream tomcat_servers{
server localhost:8080;
}
server {
listen 80;
server_name localhost;
proxy_max_temp_file_size 0;
proxy_set_header Host $http_host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-Fpr $remote_addr;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
proxy_pass http://tomcat_server/;
}
location ~^/ {
proxy_pass http://tomcat_server;
}

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}

設定檔說明:

listen 80;
使用 80 port

server_name localhost;
白話一點...就是你打在Browser網址列的URL

proxy_max_temp_file_size 0;
proxy_set_header Host $http_host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-Fpr $remote_addr;
這邊是擷取Client的真實IP,這邊設定並非絕對,可依照環境修改

upstream tomcat_servers{
server localhost:8080;
}
設定變數,因為Tomcat預設為8080 port,這邊請依照實際環境的Port修改

location / {
proxy_pass http://tomcat_server/;
}
location ~^/ {
proxy_pass http://tomcat_server;
}
設定proxy_pass,這邊的web-dir-name就是website的預設資料夾
 這樣,連線到Server時,URL會自帶資料夾名稱
 譬如您輸入 www.site.com 轉為 www.site.com/default
 這樣的做法,除了能讓書籤用戶正常使用,API部分也能安裝運作
廣告

對「CentOS 7 下 Nginx 與 Tomcat 整合」的一則回應

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s