之前的文章太長了,所以單獨寫
背景:java8+springboot+nginx+redis+sqlserver+windows?server2000
目前java8已經更換,windows也已經更換,sqlserver也已經更換成dm8
其實java的靜態文件目錄,可以很好處理前端網站了,但是秉承著前后端完全分離,還是弄了個nginx,同時nginx也使用了反向代理,保護服務端
好了話不多說
原本的目標:完全離線狀態安裝tengine,但是研究了很久,還是放棄了,很簡單,依賴的包太難找了,百度了很久很久,最后有個人介紹了個方法,直接從麒麟的iso解壓找到了,但還是太多了。
最后用了在線安裝,那是真簡單,我放棄了離線方式,后面如果有項目硬逼著要離線,到時候再研究吧。
回想下之前windows
1.直接下載nginx的編譯包,不是exe,直接是源碼編譯包
2.修改nginx的conf文件,修改監聽端口,修改網站地址,如果有反向代理,那也一樣修改配置
3.雙擊nginx.exe,查看任務管理器有兩個進程,就算結束了
現在到麒麟下,其實還是很困惑的
1.麒麟安裝和linux安裝有啥區別
2.windows下直接放編譯包,那麒麟的怎么辦
3.網上都是nginx的,那和tengine有什么關系,教程是否一致
帶著上面的疑問,開始了,長久的百度之旅,說下結果
1.麒麟和linux一樣的
2.麒麟下也是直接放編譯包
3.tengine是騰訊基于nginx的提升,所以教程一致
好了,放心了,那不就變成linux下如何安裝nginx了么!!!!!!
但是實際并沒那么簡單,尤其是對于一個從windows下轉過來的,思想轉變不過來。
我先說下在線安裝,然后我再說下離線安裝思路
1.?yum install gcc gcc-c++ make openssl-devel pcre-devel zlib-devel?然后框框一桶安裝,y?y確認
2.創建一個目錄,這個目錄用于nginx的安裝目錄,我是在/usr/local/tengine,你隨意(其實我有點疑惑的,下載的源碼編譯包,怎么就變成安裝了,windows下也沒安裝一說)
3.把linux的tengine.tar包放到麒麟服務器上,通過finalshell工具或者其他工具
4.通過cd目錄進入到你的tengine.tar目錄下,然后解壓,?tar -zxvf tengine-3.1.0.tar.gz?
5.解壓成功之后,cd進入解壓后的目錄
6.執行??./configure --prefix=/usr/local/tengine,,意思就是把第2步的安裝目錄配置上去
7.執行? make?回車(輸入make?回車即可),甭管輸入什么,框框一頓操作就行
8.輸入make?install?回車
9.到這就表示安裝好了(不明白為什么叫安裝,反正跟著來),接下來就是啟動nginx
10.這個和windows就不大一樣了,在windows下直接是找到源碼包里面nginx.exe雙擊,但是在linux下要cd進入上面設置的安裝目錄下,比如?/usr/local/tengine,那么就要執行? /usr/local/tengine/sbin/nginx? 回車即可
11.通過端口查看,nginx是否成功啟動,?ps -ef | grep nginx;看到兩個進程就對了,windows下也是兩個
12.因為我們nginx是部署在服務器上的,那么我們外部想要測試下是否啟動成功,那么就需要服務器開啟80端口防火墻(80是默認的,可以改)
13.打開端口???firewall-cmd --permanent --add-port=80/tcp;重啟防火墻?firewall-cmd --reload
14.外部測試,能打開nginx默認頁面表示成功
好了。上面是在線安裝,下面說下離線安裝。
其實在線和離線的區別就在于,安裝tengine或者nginx的時候,是需要安裝額外依賴的,在線就很舒服了,一句指令,依賴都是自動的,而如果是離線,那么就需要自己找很多rpm包,進行安裝,
如果恰好你有麒麟的iso鏡像,那么解壓后,取到packerage文件夾找就可以了。
我開始就準備離線,安裝這個提示缺那個,安裝那個又提示缺別的
太復雜了,不過這是個思路,你安裝提示缺少什么,就去麒麟的解壓包里找對應的rpm
安裝告一段落,目前外部測試tengine是安裝成功了,那接下來要進行
接下來:
1.修改配置conf文件,修改監聽端口,修改反向代理等
2.把tengine服務做到開機自啟中(windows下是通過nssm做的,可以自行百度,也很簡單)
修改第一項,既然使用了linux,那么要用vi指令修改,但是....實在是一言難盡,改著改著火大了。
直接打開conf文件,把windows下的內容復制了過去,保存結束,測試成功。
所以步驟就沒什么好說的了,總結一下修改ngnix
目前使用兩點
1.作為靜態資源服務器,我之前說過,前端打包后就是一個靜態文件,是無法通過類似于http://1.1.1.1:8090?這樣訪問的,所以需要一個web服務器,之前net的iis就是這樣,當然我說的很簡單
2.作為代理服務器,就是比如你java開發了個jar,打包后別人通過你服務器ip和你java服務端口訪問你的接口,這種方式是直接訪問,把你的服務器等于是暴露出來,于是,nginx提供反向代理,你訪問的是nginx的ip和nginx監聽的端口,但是在nginx內部幫你轉到了真實的jar服務,保護后端
3.nginx還有其他強大功能,比如https,防盜鏈,負載均衡,好像還有別的,沒怎么了解
設置開機自啟,前置工作:如果你服務器已經啟動了nginx,那么先關掉先關掉先關掉先關掉
1.cd? /lib/systemd/system? 進入這個文件夾,開機自啟的都放在這里
2.vim tengine.service? 創建一個文件的意思,這個文件名隨便你啟
3.不會用指令寫內容,所以我直接:wq?退出,然后打開直接復制粘貼(粘貼AI的),要注意一下”ExecStart“和”ExecReload“,后面的地址就是你的安裝目錄
[Unit]
Description=Tengine web server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/tengine/sbin/nginx -g "daemon off;"
ExecReload=/usr/local/tengine/sbin/nginx -s reload
KillMode=process
Restart=on-failure
PrivateTmp=true
[Install]
WantedBy=multi-user.target
4.修改文件權限?chmod 745 nginx.service
5.systemctl enable tengine.service
6.systemctl start tengine.service(這一步好像是多余的。。。。。。)
7.reboot重啟服務器,然后等啟動之后,直接網站訪問試試,成功表示開機自啟了
至此,麒麟安裝tengine,配置,開機自啟結束。