網站加速與Linux伺服器防護

来源:https://www.cnblogs.com/hiit/archive/2018/01/18/8310927.html
-Advertisement-
Play Games

網站加速方面 1. Nginx 配置 gzip 壓縮 開啟nginx gzip壓縮後,網頁、css、js等靜態資源的大小會大大的減少,從而可以節約大量的帶寬,提高傳輸效率,給用戶快的體驗。雖然會消耗cpu資源,但是為了給用戶更好的體驗是值得的。 將以上配置放到nginx.conf的http{ ... ...


網站加速方面

1. Nginx 配置 gzip 壓縮

開啟nginx gzip壓縮後,網頁、css、js等靜態資源的大小會大大的減少,從而可以節約大量的帶寬,提高傳輸效率,給用戶快的體驗。雖然會消耗cpu資源,但是為了給用戶更好的體驗是值得的。

gzip  on;  #開啟gzip
gzip_min_length 1k;  #低於1kb的資源不壓縮
gzip_comp_level 3; #壓縮級別【1-9】,越大壓縮率越高,同時消耗cpu資源也越多,建議設置在4左右。
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;  #需要壓縮哪些響應類型的資源,多個空格隔開。不建議壓縮圖片,下麵會講為什麼。
gzip_disable "MSIE [1-6]\.";  #配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因為ie低版本不支持)
gzip_vary on;  #是否添加“Vary: Accept-Encoding”響應頭

將以上配置放到nginx.conf的http{ ... }節點中。保存並重啟nginx,刷新頁面(為了避免緩存,請強制刷新)就能看到效果了。以谷歌瀏覽器為例,通過F12看請求的響應頭部。

2. 開啟百度雲加速

在很多網站開始用到了國內的免費CDN了,也就是雲加速,比如百度雲加速、360網站衛士、安全寶、加速樂及雲盾等等。

百度雲加速在全國骨幹網上部署大量節點和帶寬資源,整合百度自有CDN技術以及防攻擊體系,為廣大網站提供加速、緩存和頁面優化等功能,顯著提高網站的訪問速度,大量節省網站自身資源。
同時,在流量經過雲加速節點的同時,惡意的黑客攻擊和DDoS/CC攻擊也被雲加速攔截過濾,有效保障了網站的安全和穩定。

這個開啟請看教程:https://jingyan.baidu.com/article/f00622280f97d3fbd2f0c858.html

Linux伺服器安全防護

1.Linux限制用戶或IP遠程登錄

linux遠程登錄使用的是SSH協議,要限制IP登錄,主要是修改與sshd服務相關聯的配置文件。

1.只允許指定用戶進行登錄(白名單):
在 /etc/ssh/sshd_config 配置文件中設置 AllowUsers 選項,(配置完成需要重啟 SSHD 服務)格式如下:
AllowUsers    aliyun [email protected]            
# 允許 aliyun 和從 192.168.1.1 登錄的 test 帳戶通過 SSH 登錄系統。
2.只拒絕指定用戶進行登錄(黑名單):
在/etc/ssh/sshd_config配置文件中設置DenyUsers選項,(配置完成需要重啟SSHD服務)格式如下:   
DenyUsers    zhangsan aliyun    #Linux系統賬戶        
# 拒絕 zhangsan、aliyun 帳戶通過 SSH 登錄系統

3.只允許IP 192.168.0.1 和 192.168.0.10 登陸 其他全部禁止
(1) vim /etc/hosts.allow //增加如下內容 
sshd: 192.168.0.1, 192.168.0.10 
(2)vim /etc/hosts.deny //增加如下內容 
sshd: ALL
4.IP黑名單形式
只限制192.168.0.1登陸上來,其他全部放行
vim /etc/hosts.deny //增加如下內容 
sshd: 192.168.0.1

  

2.安裝雲鎖安全軟體

註意:如曾經下載過雲鎖安裝包,則將舊的雲鎖安裝包及安裝目錄刪除(rm -rf yunsuo_*)後再安裝。

快速安裝

x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz && tar xvzf yunsuo_agent_32bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install

x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz && tar xvzf yunsuo_agent_64bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install

分步安裝

1.下載雲鎖安裝包。

x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz
x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz
2.解壓文件,得到安裝包文件。

x86:tar zxvf yunsuo_agent_32bit.tar.gz
x64:tar zxvf yunsuo_agent_64bit.tar.gz
3.給雲鎖安裝文件賦予可執行許可權。

chmod +x yunsuo_install/install
4.在當前路徑下執行安裝,直到提示“Install Yunsuo Success.”安裝完成。

yunsuo_install/install

5.添加伺服器到雲中心。

/usr/local/yunsuo_agent/yunsuo_smart_tool.sh -u cloud_name -p cloud_passwd
備註:cloud_name:雲中心賬戶名;cloud_passwd:雲中心登錄密碼
6.安裝完成後通過PC端進行管理。

查看雲鎖是否運行

ps -ef | grep yunsuo_agent

雲鎖服務相關命令

雲鎖啟動/停止/重啟/運行狀態

service yunsuo start/stop/restart/status
/etc/init.d/yunsuo start/stop/restart/status

卸載雲鎖

/usr/local/yunsuo_agent/uninstall

  3.ssh 22預設埠更改

首先修改配置文件  vi /etc/ssh/sshd_config

  找到#Port 22一段,這裡是標識預設使用22埠,修改為如下:

  Port 22  Port 50000  然後保存退出

  執行/etc/init.d/sshd restart  這樣SSH埠將同時工作與22和50000上。

  現在編輯防火牆配置:vi /etc/sysconfig/iptables

  啟用50000埠。  執行/etc/init.d/iptables restart

  現在請使用ssh工具連接50000埠,來測試是否成功。如果連接成功了,則再次編輯sshd_config的設置,將裡邊的Port22刪除,即可。

  之所以先設置成兩個埠,測試成功後再關閉一個埠,是為了方式在修改conf的過程中,萬一齣現掉線、斷網、誤操作等未知情況時候,
還能通過另外一個埠連接上去調試以免發生連接不上必須派人去機房,導致問題更加複雜麻煩。

  4.開啟防火牆

1) 永久性生效,重啟後不會複原
開啟: chkconfig iptables on
關閉: chkconfig iptables off

2) 即時生效,重啟後複原
開啟: service iptables start
關閉: service iptables stop

  5.重要文件夾上鎖

在linux系統里鎖定一個文件,鎖定後,任何用戶,包括root用戶都無法刪除該文件
chattr +i  a.txt   
##a.txt 為加鎖的文件
解鎖
chattr -i a.txt 
為了保護數據隱私,鎖定文件伺服器下的/downloads文件夾。
chmod 0000 /downloads

root用戶仍舊可以訪問,而ls和cd命令則不工作。要還原它用:
chmod 0755 /downloads

  6.網站目錄文件夾許可權設置 。建議文件夾750,頁面文件640,緩存目錄可讀寫770

修改某個目錄下所有文件的許可權,如果子目錄中的文件許可權也要修改,則使用參數-R啟動遞歸處理。

把/home/user目錄的許可權設置為rwxrwxrwx,不包括子目錄:

[root@localhost ~]# chmod 777 /home/user

把/home/user目錄的許可權設置為rwxrwxrwx,包括子目錄:

[root@localhost ~]# chmod -R 777 /home/user 

 其它 

及時更新各類軟體的補丁

掛載備份硬碟,定期備份

資料庫單獨伺服器,通過內網訪問交互

關閉多餘服務

禁用密碼,用密鑰登錄

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有多種方式可以將數據傳遞到視圖,如下所示: ViewData ViewBag PartialView TempData ViewModel Tuple 場景: 在視圖頁面,下拉框選擇課程觸發事件,分別顯示老師課程表、學生上課表,如圖: 相關的Model: 一、使用ViewData傳遞多個Model ...
  • 本篇開始正式做功能,我在開發拼團提醒之前,拼多多並沒有放出拼團人數不足就提醒賣家的功能。 有這個想法主要來源於朋友的抱怨,我想這應該是大部分賣家的心聲吧。 經過分析,拿到了幾個api,不要問我api怎麼拿到的,這不是本系列的內容。 介面1:http://apiv4.yangkeduo.com/mal ...
  • 本人開發socket通訊多年了,一直乾著“重覆發明輪子”工作,這種工作方式效率低下,容易出錯! 重覆的事情做多了,也會出現“靈光“!何不自己設計一套中間件,在此基礎上,再設計應用層協議。就可以避免“重覆發明輪子”。 ...
  • 在一個項目開始前,需求整理大概要占到整個項目周期15%甚至30%的比重,可以說需求理得越清楚,後續開發中返工幾率越小。在一個項目中,開發新功能的花費的精力要遠遠小於修改功能的精力,這基本是一個共識。老祖宗說,謀定而後動,不是沒有道理的。 一般項目開發中,前期會包含商務活動、需求調研,需求交底的過程。 ...
  • 在上一節,我們完成了一個項目搭建,我們看到的是一個項目的分層架子,那接下來每一層做什麼以及需要引用哪些內容呢?在本節內容我們還逐步拆分每一層的功能,順帶添加package包 Trump.Domain 在這一層,主要是定義領域模型,我們前面也說,Domain是不依賴任何層的,唯一可能存在的依賴也就是外 ...
  • 首先,下載文件navicat120_mysql_cs_x64.tar.gz,然後用命令 解壓。解壓以後,進入解壓目錄,運行start_navicat,就可以運行了。 運行以後,可能出現亂碼,這是因為預設的是英文,只識別UTF8的英文編碼。用gedit打開文件start_navicat,把 改成 然後 ...
  • 一.下載Linux版本的jdbc與tomcat 1.1 下載Linux版本的jdbc: 1.1.1 1.1.2 1.1.3 在進行1.1.3操作之前得先勾選我同意協議 1.1.4 下載完成 1.2下載Linux版本的tomcat 1.2.1 1.2.2 1.2.3 下載完成 二.將下載好的兩個壓縮包 ...
  • android 電池(一):鋰電池基本原理篇 android 電池(二):android關機充電流程、充電畫面顯示 android 電池(三):android電池系統 android電池(四):電池 電量計(MAX17040)驅動分析篇 android電池(五):電池 充電IC(PM2301)驅動分 ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...