nginx 實現https及代理springboot jar包
阿新 • • 發佈:2018-12-10
- 首先,需要在阿里雲申請免費一年的ssl服務
- 開啟管理控制檯-證書服務,下載證書for nginx
- 在伺服器Nginx的安裝目錄下建立cert目錄,並且將下載的全部檔案拷貝到cert目錄中(一個key檔案和一個pem檔案)
- 配置伺服器nginx下nginx.config
server { listen 443; server_name 你的域名; ssl on; ssl_certificate cert/你的證書.pem; ssl_certificate_key cert/你的證書.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; //你的專案埠號 proxy_pass http://127.0.0.1:9999/; proxy_redirect off; } }
spring boot pom設定
<groupId>com.xxxxxx</groupId> <artifactId>xxxxxxxxxxxxxxxx</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> ********* <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> </plugins> </build>
在專案根目錄下執行 mvn clean package
打包jar,打好的包在target下,將其上傳伺服器的某個目錄
執行專案方式
-
java -jar xxxxxxxxxxxxxxxx.jar
視窗關閉後就停止,顯然不行 -
nohup java -jar XXX.jar >temp.txt &
最後的&表示後臺執行,並將console列印到temp.txt下,可通過jobs命令檢視後臺執行任務 jobs 那麼就會列出所有後臺執行的作業,並且每個作業前面都有個編號。 如果想將某個作業調回前臺控制,只需要 fg + 編號即可。 fg 23 檢視某端口占用的執行緒的pid netstat -nlp |grep :9181 -
註冊服務 通過init.d 註冊
sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
,最後的那個myapp就是你要註冊的服務名,這個命令實際是軟連線,然後通過service myapp start|stop|restart
管理就行。
上述最後一種方式是最好的,也是官方推薦的方法,但我怎麼試也不行,最後用第二種方式啟動了。以後再研究吧。 以上。