其實原來我配置過一次ssl證書但是我把證書想的太簡單了
先理清一下思緒
第一步 : 我們有域名有ssl粟焊,首先你要確定域名是不是和你主機解析了沒有解析佑女,怎么判定一個域名是否解析呢 如圖: ping ?www.zencloud.net.cn
從這張圖我們可以得到www.zencloud.net.cn這個域名解析的服務(wù)器是121.41.110.75,如果你發(fā)現(xiàn)解析的不是你自己的要用的服務(wù)器怎么辦呢透葛?
1.打開你用的服務(wù)器解析贷揽,我用的是阿里云解析域名的如圖:
2.進入阿里云中域名解析你會發(fā)現(xiàn)對應(yīng)的域名如圖:
3.這里你會發(fā)現(xiàn)你有的3個主域名zencloud.net.cn拆撼,當(dāng)然還有一些3,4級域名通配的一些都是以這3個為主施无,如上面ping www.zencloud.net.cn 這就是通配的小的4級域名辉词,當(dāng)然還有一些就不舉例了,看到方框里面解析嗎猾骡,只需輕輕點擊瑞躺,你就會發(fā)現(xiàn)哪些以這個主域名和通配的域名解析如圖所示:
4.從上圖我們發(fā)現(xiàn)一個問題在記錄值哪里明明web2.zencloud.net.cn兴想,其實這里web2前綴是一個指向幢哨,指向一個真正的服務(wù)器ip地址如上圖121.41.110.75所以在這里,如果指向不是你想要的你就可以改動前綴嫂便,取一個有意義的前綴捞镰,相應(yīng)添加對應(yīng)前綴的真實要用的服務(wù)器地址 如果這一步你完成了,說明你完成很重要的一步域名解析完成。
第二步 就是配置nginx岸售,剛剛接手服務(wù)器其實我們也不知道這臺服務(wù)器到底安沒安nginx几迄,這是很疑問的我們就通過一下命令確定吧: ps -ef|grep nginx 這句話其實是查詢nginx進程的是否有啟動如圖
1.如果你看到安裝了如上圖一下說明你安裝了當(dāng)然這只是其中一種方法你也可以通過:find / |grep sbin/nginx? 這是查找的意思可以查找到相關(guān)nginx很多配置文件,這條命令百試不爽冰评,當(dāng)然類似命令還有很多比如: ?nginx -t 可檢測 或者 nginx -V ?查找對應(yīng)模塊和版本號。
2.通過上面測試假設(shè)我們安裝了nginx木羹,但是還是不行甲雅,你要知道你nginx有沒有安裝相對應(yīng)的模塊,就比如你現(xiàn)在有ssl證書但是你沒有對應(yīng)模塊坑填,那就不行只能去安裝對應(yīng)模塊--with-http_ssl_module才行抛人。 剛剛說過nginx -V是查詢版本和模塊的如圖:
3.當(dāng)然上一步你沒有對應(yīng)模塊最好百度重裝一下,nginx反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求脐瑰,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器妖枚,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個反向代理服務(wù)器苍在。
還是先確定如何找到配置文件绝页,其實nginx配置文件無外乎一個在遠程服務(wù)器/etc/nginx和/usr/local/nginx
當(dāng)然這也不是百分百肯定還是要自己去找,先找出nginx可執(zhí)行文件的路徑
ps -ef | grep nginx
圖中顯示的就是nginx可執(zhí)行文件的路徑
找出配置文件路徑
/usr/local/openresty/nginx/sbin/nginx -t
這樣配置文件的路徑就顯示出來啦
4.找好配置文件寂恬,用命令 : sudo vi nginx.conf
首先我們看到server_name+域名www.zencloud.net.cn ? 這是我們外網(wǎng)直接訪問域名续誉,域名會映射到配置"/",
中 proxy_pass這里是配置真實的服務(wù)器內(nèi)部地址,看到http://www; 這里 ?www會找到upstream www初肉,當(dāng)然如果理解不了可以看下圖:
5.我剛剛說的只是子配置文件反向代理酷鸦,如果主配置文件nginx.conf呢?又改怎么配置如圖:
#代理配置參數(shù)
proxy_buffer_size 16k;#設(shè)置代理服務(wù)器(nginx)保存用戶頭信息的緩沖區(qū)大小
proxy_buffers 4 32k;? #proxy_buffers緩沖區(qū),網(wǎng)頁平均在32k以下的話牙咏,這樣設(shè)置
proxy_busy_buffers_size 64k;#高負荷下緩沖大芯矢簟(proxy_buffers*2)
proxy_temp_file_write_size 64k;設(shè)定緩存文件夾大小,大于這個值妄壶,將從upstream服務(wù)器傳
proxy_connect_timeout 30; #nginx跟后端服務(wù)器連接超時時間(代理連接超時)
proxy_send_timeout 30;? ? #后端服務(wù)器數(shù)據(jù)回傳時間(代理發(fā)送超時)
proxy_read_timeout 30;? ? #連接成功后摔握,后端服務(wù)器響應(yīng)時間(代理接收超時)
這些參數(shù)可以根據(jù)實際情況而定這里圖片都做一些翻譯當(dāng)然一定要注意主配置文件的頭:
user root; ?如果你不給這個權(quán)限雖然文件也可以訪問但是哪些文件會報錯并且很慢
當(dāng)然配置完成之后肯定是讓他能夠啟動其實有兩種方法:
第一是重載配置文件命令: service nginx restart
第二是查詢進程結(jié)束該進程并且重新啟動只要前3個:
ps -ef|grep nginx 查詢
sudo kill -QUIT 28341 殺死進程
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf? 啟動
sudo ./nginx -s stop 關(guān)閉
當(dāng)然證書那一塊就是我們一直看到三句話在
這三句話加上配置相對應(yīng)文件就ok啦!
在整理這份文件時候盯拱,其實我感覺懂的只是小小的一部分盒发,就是現(xiàn)在我感覺nginx還沒有吃透狡逢,很多都還需要加強比如nginx站點用處宁舰,負載均衡能不能設(shè)置等級之類的。所以這要不停探索
2找到配置文件并不一定是