apache配置文件詳解與優化

apache配置文件詳解與優化

一、總結

一句話總結:結合apache配置文件中的英文說明和配置詳解一起看

?

1、apache模塊配置用的什么標簽?

IfModule

例如:

<IfModule dir_module>
DirectoryIndex index.html 索引文件 首頁文件(首頁文件可以有多個,可以用空格匹配多個,)
</IfModule>

?

2、apache的目錄配置用什么標簽?

Directory

例如:

<Directory /> 根目錄(以下是對根目錄的限制)
Options FollowSymLinks FollowSymLinks表示允許符號鏈接,沒加選項表示禁止,如不允許目錄瀏覽等
AllowOverride None 表示禁止用戶對目錄配置文件(.htaccess進行修改)重載,普通站點目錄此項建議不開啟
Order deny,allow 允許未被明確拒絕的 (從后往前讀)
Deny from all 拒絕所有訪問
</Directory>

?

3、apache虛擬主機配置文件 (httpd-vhosts.conf)?

VirtualHost
虛擬主機配置文件 (httpd-vhosts.conf)
egrep -v "^.*#|^$" httpd-vhosts.conf
NameVirtualHost *:80 表示基于名稱的虛擬主機配置,*表示監聽本機的所有IP地址,可以更改為具體的IP地址
<VirtualHost *:80> 定義一個虛擬主機,*表示監聽本機的所有IP地址,可以更改為具體的IP地址
ServerAdmin webmaster@dummy-host.example.com 配置管理員的郵箱
DocumentRoot "/applications/apache2.2.31/docs/dummy-host.example.com" 提供服務的程序目錄,也成站點目錄,如果不配置,則去主配置文件中尋找
ServerName dummy-host.example.com 提供服務的域名,測試需要在本機做hosts解析
ServerAlias www.dummy-host.example.com 虛擬主機的別名,也就是配置多個域名訪問同一個站點,此功能需要apache mod_alias模塊的支持
ErrorLog "logs/dummy-host.example.com-error_log" 配置錯誤日志的路徑
CustomLog "logs/dummy-host.example.com-access_log" common 配置訪問日志,一般用combined格式代替common格式,以獲得更多的格式輸出
</VirtualHost> 虛擬主機的結尾

?

4、apache配置擴展文件目錄?

httpd
apache 擴展配置文件(Include 調用文件)在 /appacation/apache/conf/extra 下,不開啟就是默認配置。
extra/
├── httpd-autoindex.conf
├── httpd-dav.conf dav支持配置
├── httpd-default.conf 配置的是apache的相關服務參數,如超時時間,保持連接時間等
├── httpd-info.conf
├── httpd-languages.conf 語言支持模式
├── httpd-manual.conf
├── httpd-mpm.conf 服務器池管理,也就是優化apache的一個配置文件,選擇apache的模式以及配置連接數等,常用的模式有worker模式和profork模式,默 認情況是profork模式
├── httpd-multilang-errordoc.conf
├── httpd-ssl.conf 支持ssl加密的文件
├── httpd-userdir.conf
└── httpd-vhosts.conf 虛擬主機的配置文件

?

5、apache站點目錄配置?

Directory
<Directory "/applications/apache2.2.31/htdocs"> 站點目錄(以下為默認站點目錄的限制,如果讀者私自配置了站點目錄而沒有配置這里就會出現 403錯誤)
Options Indexes FollowSymLinks FollowSymLinks表示允許符號鏈接,indexes表示允許目錄瀏覽,如允許目錄瀏覽,允許符號鏈接
這里很危險,應禁止目錄瀏覽 應更改為 Options FollowSymLinks或Options -Indexes FollowSymLinks
AllowOverride None 表示禁止用戶對目錄配置文件(.htaccess進行修改)重載 盡量不開啟.htaccess 安全隱患大,規則多了網站訪問性能低
Order allow,deny 拒絕未被明確允許的 (從后往前讀)
Allow from all 所有人都能訪問
</Directory>

?

6、錯誤頁面優雅顯示?

主配置文件 ErrorDocument

支持url、文件和腳本的形式。 配置方法 在主配置文件 寫入 ErrorDocument 404 /http://www/51cto.com 或者 ErrorDocument 404 /missing.html

?

7、修改apache的并發量等設置(默認apahce的并發量是150)?

httpd-mpm
修改httpd.conf 打開Include conf/extra/httpd-mpm.conf 模塊
Apachef服務為worker模式的配置 vim /conf/extra/httpd-mpm.conf
<IfModule mpm_worker_module>
StartServers 5
MaxClients 2000
ServerLimit 25
MinSpareThreads 50
MaxSpareThreads 200
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerchild 0
</IfModule>
注:
MaxClients <= ServerLimit * ThreadsPerChild
Apache服務為prefork模式的配置
生產環境配置文件 httpd-default.conf并發連接數配置
vim conf/extra/httpd-mpm.conf
StartServers 10
MinSpareServers 10
maxSpareServers 15
ServerLimit 2000
MaxClients 2000
MaxRequestsPerChild 10000
修改完并發數后,要stop apache 再start apache ,restart和graceful是不管用的 可能是bug

?

worker模式 提升并發數(可以達到4500,網友測試結果)

編譯安裝時,使用worker模式

?

8、mod_expires 緩存功能?

訪問速度 帶寬成本
通過設置expires header 來緩存如:圖片,腳本,css,flash等,expires其實就是通過header報文來指定特定類型的文件在瀏覽器中的緩存時間,大多數的圖片,flash在發布后都是不需要經常修改的,做了緩存以后這樣瀏覽器就不會再從服務器下載這些文件而是直接從緩存中讀取
優點:
1,加大訪問頁面的速度 2,提升用戶體驗 3,節約網站帶寬成本 4,節約網站服務器及維護成本
<ifmodule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 12 month"
ExpiresByType test/html "access plus 12 months"
ExpiresByType test/scc "access plus 12 months"
ExpiresByType image/gif "access plus 12 months"
ExpiresByType image/jpeg "access plus12 12 months"
ExpiresByType image/jpg "access plus 12 months"
ExpiresByType image/png "access plus 12 months"
EXpiresByType application/x-shockwave-flash "access plus 12 months"
EXpiresByType application/x-javascript "access plus 12 months"
ExpiresByType video/x-flv "access plus 12 months"
</ifmodule>
expires失效條件:用戶主動刪除和內容緩存期已到
如果網站更新功能或者更新文件,用戶訪問時的內容還是舊的
1.一般將經常變化的設置時間短 如1-30天
2.在更新文件上采取策略,如更新后使用新的文件名發布,這樣對用戶又是新的資源了

?

9、避免使用.htaccess文件?

性能
安全
首先是性能的考慮,如果AllowOverride啟用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,另外,對每一個請求,都需要讀取一次.htaccess文件因此會導致性能的下降。
其次是安全,這樣會允許用戶自己修改服務器的配置,這可能導致某些意想不到的修改,所以請認真考慮是否應當給予用戶這樣的特權
AccessFileName .htaccess
建議設置成:
#AccessFileName .htaccess
全部目錄權限定義使用httpd.conf中的定義,不使用.htaccess.

?

10、apache程序架構優化?

功能分離
1.程序頁面服務器和 圖片附件服務器、上傳服務器 三者的功能盡量分離
2.分離最佳的方式是分別使用獨立的服務器(需要程序的支持)
3.次選方案是在前端負載均衡器通過haproxy/nginx 根據目錄或者擴展名,請求后面的對應服務器

?

?

11、apache的防盜鏈功能?

防盜鏈
自己所有的圖片,不允許嵌套在別人的網頁里面

?

12、apache目錄文件權限的設置 (屬組root ,目錄755,文件644)?

chmod
在網站架構中,應該把資源文件,包括用戶上傳的圖片,附件等和程序分離,最好把上傳的程序也分離,這樣就可以從容的授權了。
一般的公司授權:
chmod -R 777 /sitedir
chown -R apache.apache /sitedir 都不安全

?

13、屏蔽apache版本等敏感信息?

減少攻擊 httpd-default.conf
客戶訪問時不知道用的是什么版本的服務器,減少攻擊
修改httpd-default.conf文件,ServerSignature off 和ServerTokens Prod
之后 apachectl graceful 使之生效
但還是會出現server=Apache 字樣,如果想全部屏蔽,則需要從新編譯

?

?

二、apache配置文件詳解和優化

1、apache配置文件詳解

[root@localhost conf]# egrep -v "^.*#|^$" httpd.conf
ServerRoot "/applications/apache2.2.31" apache的根目錄(安裝目錄),應該只能root登錄,不需更改此配置
#listen 12.34.56.78:80 監聽指定IP和端口
Listen 80 監聽的端口 如果同時監控81端口,可以在下面增加一行,如:listen 81
#Dynamic Shared Object (DSO) Support 動態共享對象支持 DSO編譯模塊
<IfModule !mpm_netware_module> 專用的用戶和組來運行httpd,即apache在運行時以此用戶的身份啟動服務和讀取文件
<IfModule !mpm_winnt_module>
User daemon apache的用戶,默認為daemon,建議修改下 如:oldboy
Group daemon apache的用戶組,默認為daemon,建議修改下 如:oldboy
ServerAdmin you@example.com 服務管理員郵箱地址,出問題時發送郵件到這個郵箱
#ServerName www.example.com:80 初啟動時報的錯就是因為這里,更改這里就不會報錯 通常配置成127.0.0.1
DocumentRoot "/applications/apache2.2.31/htdocs" apache默認的站點目錄,路徑結尾不要添加斜線
<Directory /> 根目錄(以下是對根目錄的限制)
Options FollowSymLinks FollowSymLinks表示允許符號鏈接,沒加選項表示禁止,如不允許目錄瀏覽等
AllowOverride None 表示禁止用戶對目錄配置文件(.htaccess進行修改)重載,普通站點目錄此項建議不開啟
Order deny,allow 允許未被明確拒絕的 (從后往前讀)
Deny from all 拒絕所有訪問
</Directory>
<Directory "/applications/apache2.2.31/htdocs"> 站點目錄(以下為默認站點目錄的限制,如果讀者私自配置了站點目錄而沒有配置這里就會出現 403錯誤)
Options Indexes FollowSymLinks FollowSymLinks表示允許符號鏈接,indexes表示允許目錄瀏覽,如允許目錄瀏覽,允許符號鏈接
這里很危險,應禁止目錄瀏覽 應更改為 Options FollowSymLinks或Options -Indexes FollowSymLinks
AllowOverride None 表示禁止用戶對目錄配置文件(.htaccess進行修改)重載 盡量不開啟.htaccess 安全隱患大,規則多了網站訪問性能低
Order allow,deny 拒絕未被明確允許的 (從后往前讀)
Allow from all 所有人都能訪問
</Directory>
<IfModule dir_module>
DirectoryIndex index.html 索引文件 首頁文件(首頁文件可以有多個,可以用空格匹配多個,)
</IfModule>
<FilesMatch "^\.ht"> 阻止.htaccess 和 .htpasswd等重要文件被web用戶查看
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
ErrorLog "logs/error_log" 錯誤日志路徑
LogLevel warn 日志的級別 警告
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 日志的格式
LogFormat "%h %l %u %t \"%r\" %>s %b" common 普通訪問日志格式
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
默認站點訪問日志配置
CustomLog "logs/access_log" common 訪問日志路徑 common
#CustomLog "logs/access_log" combined 訪問日志路徑 combined (復合日志)
</IfModule>
以下為cgi的配置,沒有特殊需求應考慮全部注釋或者刪掉
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/applications/apache2.2.31/cgi-bin/" cgi的別名 基本不用了(可以刪除和注釋掉)
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/applications/apache2.2.31/cgi-bin"> cgi目錄 基本不用了(可以刪除和注釋掉)
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
DefaultType text/plain DefaultType:定義當不能確定MIME類型時服務器提供的默認MIME類型(默認不更改)
如果你的服務器主要包含text 或者HTML文檔,“text/plain” 是一個好的選擇
<IfModule mime_module> 允許傳送時使用以下幾種壓縮方式
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
</IfModule>
# Some examples: 出現不同的錯誤跳轉的指定頁面
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
以下是開啟一些包含文件的配置
# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf
# Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf
# Fancy directory listings
#Include conf/extra/httpd-autoindex.conf
# Language settings
#Include conf/extra/httpd-languages.conf
# User home directories
#Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf (開啟虛擬主機的配置)
# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
apache 擴展配置文件(Include 調用文件)在 /appacation/apache/conf/extra 下,不開啟就是默認配置。
extra/
├── httpd-autoindex.conf
├── httpd-dav.conf dav支持配置
├── httpd-default.conf 配置的是apache的相關服務參數,如超時時間,保持連接時間等
├── httpd-info.conf
├── httpd-languages.conf 語言支持模式
├── httpd-manual.conf
├── httpd-mpm.conf 服務器池管理,也就是優化apache的一個配置文件,選擇apache的模式以及配置連接數等,常用的模式有worker模式和profork模式,默 認情況是profork模式
├── httpd-multilang-errordoc.conf
├── httpd-ssl.conf 支持ssl加密的文件
├── httpd-userdir.conf
└── httpd-vhosts.conf 虛擬主機的配置文件
虛擬主機配置文件 (httpd-vhosts.conf)
egrep -v "^.*#|^$" httpd-vhosts.conf
NameVirtualHost *:80 表示基于名稱的虛擬主機配置,*表示監聽本機的所有IP地址,可以更改為具體的IP地址
<VirtualHost *:80> 定義一個虛擬主機,*表示監聽本機的所有IP地址,可以更改為具體的IP地址
ServerAdmin webmaster@dummy-host.example.com 配置管理員的郵箱
DocumentRoot "/applications/apache2.2.31/docs/dummy-host.example.com" 提供服務的程序目錄,也成站點目錄,如果不配置,則去主配置文件中尋找
ServerName dummy-host.example.com 提供服務的域名,測試需要在本機做hosts解析
ServerAlias www.dummy-host.example.com 虛擬主機的別名,也就是配置多個域名訪問同一個站點,此功能需要apache mod_alias模塊的支持
ErrorLog "logs/dummy-host.example.com-error_log" 配置錯誤日志的路徑
CustomLog "logs/dummy-host.example.com-access_log" common 配置訪問日志,一般用combined格式代替common格式,以獲得更多的格式輸出
</VirtualHost> 虛擬主機的結尾
?

2、apache優化

一、日志輪詢
1.使用cronolog進行日志輪詢.之所以不使用系統自帶的rotatelogs,是因為切割日志時丟失日志。
2.使用復合日志(combined),顯示會多一些。
3.配置cronolog日志輪詢時,要寫全路徑,如 Customlog“|/usr/local/sbin/cronolog /application/apache/logs/access_www_%Y%m%d.log” combined
二。錯誤頁面優雅顯示
支持url、文件和腳本的形式。 配置方法 在主配置文件 寫入 ErrorDocument 404 /http://www/51cto.com 或者 ErrorDocument 404 /missing.html
三、mod_deflate 文件壓縮功能(壓縮發送給客戶端的內容)
以DSO方式安裝 /application/apache/bin/apxs -i -c -a mod_deflate.c
把文件先在服務器端進行壓縮,然后再傳輸,在客戶端再進行解壓。沒特殊情況,所有文本內容都應該是gzip壓縮。
把以下內容放在虛擬主機當中,就實現的壓縮功能:
<ifmodule mod_defalte.c>
DeflateCompressionlevel 9 #壓縮等級,等級也大,壓縮比例越高,相反耗CPU也高
SetOutputFilter DEFLATE #啟用壓縮
#DeflateFilterNote Input instream #在日志中放置壓縮率標記
#DeflateFilterNore Output outstream #在日志中放置壓縮率標記
AddOutputFilterByType DEFLATE text/html text/plain text/xml #以下三行設置壓縮的類型
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/css
#DeflateFilterNote Ratio ratio #在日志中放置壓縮率標記,下面是記錄日志的,這個功能一般不用,所以注釋掉了
#LogFormat '"%r" %{outsream}n/%{instream}n (%{ratio}n%%)' deflate
#Customlog logs/deflate_log.log deflate
</ifmodule>
使用curl命令,頭部信息會出現一行Vary: Accept-Encoding 表示已經壓縮
四、mod_expires 緩存功能
通過設置expires header 來緩存如:圖片,腳本,css,flash等,expires其實就是通過header報文來指定特定類型的文件在瀏覽器中的緩存時間,大多數的圖片,flash在發布后都是不需要經常修改的,做了緩存以后這樣瀏覽器就不會再從服務器下載這些文件而是直接從緩存中讀取
優點:
1,加大訪問頁面的速度 2,提升用戶體驗 3,節約網站帶寬成本 4,節約網站服務器及維護成本
<ifmodule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 12 month"
ExpiresByType test/html "access plus 12 months"
ExpiresByType test/scc "access plus 12 months"
ExpiresByType image/gif "access plus 12 months"
ExpiresByType image/jpeg "access plus12 12 months"
ExpiresByType image/jpg "access plus 12 months"
ExpiresByType image/png "access plus 12 months"
EXpiresByType application/x-shockwave-flash "access plus 12 months"
EXpiresByType application/x-javascript "access plus 12 months"
ExpiresByType video/x-flv "access plus 12 months"
</ifmodule>
expires失效條件:用戶主動刪除和內容緩存期已到
如果網站更新功能或者更新文件,用戶訪問時的內容還是舊的
1.一般將經常變化的設置時間短 如1-30天
2.在更新文件上采取策略,如更新后使用新的文件名發布,這樣對用戶又是新的資源了
五、更改apache的默認用戶
編譯安裝apache的用戶是daemon
yum安裝apache的用戶的apache
盡可能的將用戶改名,最好用大家都不知道用戶名
六、worker模式 提升并發數(可以達到4500,網友測試結果)
編譯安裝時,使用worker模式
七、屏蔽apache版本等敏感信息
客戶訪問時不知道用的是什么版本的服務器,減少攻擊
修改httpd-default.conf文件,ServerSignature off 和ServerTokens Prod
之后 apachectl graceful 使之生效
但還是會出現server=Apache 字樣,如果想全部屏蔽,則需要從新編譯
八、apache目錄文件權限的設置 (屬組root ,目錄755,文件644)
在網站架構中,應該把資源文件,包括用戶上傳的圖片,附件等和程序分離,最好把上傳的程序也分離,這樣就可以從容的授權了。
一般的公司授權:
chmod -R 777 /sitedir
chown -R apache.apache /sitedir 都不安全
九、修改apache的并發量等設置(默認apahce的并發量是150)
修改httpd.conf 打開Include conf/extra/httpd-mpm.conf 模塊
Apachef服務為worker模式的配置 vim /conf/extra/httpd-mpm.conf
<IfModule mpm_worker_module>
StartServers 5
MaxClients 2000
ServerLimit 25
MinSpareThreads 50
MaxSpareThreads 200
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerchild 0
</IfModule>
注:
MaxClients <= ServerLimit * ThreadsPerChild
Apache服務為prefork模式的配置
生產環境配置文件 httpd-default.conf并發連接數配置
vim conf/extra/httpd-mpm.conf
StartServers 10
MinSpareServers 10
maxSpareServers 15
ServerLimit 2000
MaxClients 2000
MaxRequestsPerChild 10000
修改完并發數后,要stop apache 再start apache ,restart和graceful是不管用的 可能是bug
十、apache的防盜鏈功能
自己所有的圖片,不允許嵌套在別人的網頁里面
十一、禁止目錄Indexes
刪除Indexes 或者Indexes前加-
十二、禁止用戶重載
AllowOverride Nore
十三、關閉CGI
刪除或者關閉CGI
十四、避免使用.htaccess文件
首先是性能的考慮,如果AllowOverride啟用了.htaccess文件,則Apache需要在每個目錄中查找.htaccess文件,另外,對每一個請求,都需要讀取一次.htaccess文件因此會導致性能的下降。
其次是安全,這樣會允許用戶自己修改服務器的配置,這可能導致某些意想不到的修改,所以請認真考慮是否應當給予用戶這樣的特權
AccessFileName .htaccess
建議設置成:
#AccessFileName .htaccess
全部目錄權限定義使用httpd.conf中的定義,不使用.htaccess.
十七、apache日志授予root 700權限
十八、內核優化 系統優化
十九、apache程序架構優化
1.程序頁面服務器和 圖片附件服務器、上傳服務器 三者的功能盡量分離
2.分離最佳的方式是分別使用獨立的服務器(需要程序的支持)
3.次選方案是在前端負載均衡器通過haproxy/nginx 根據目錄或者擴展名,請求后面的對應服務器

參考:apache配置文件詳解和優化 - zypzilong的博客 - CSDN博客
https://blog.csdn.net/zypzilong/article/details/77765429

?

?

轉載于:https://www.cnblogs.com/Renyi-Fan/p/9976867.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276882.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276882.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276882.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

帆軟報表(finereport)單元格函數,OP參數

單元格模型&#xff1a;單元格數據和引用&#xff1a;數據類型、實際值與顯示值、單元格支持的操作單元格樣式&#xff1a;行高列寬、隱藏行列、自動換行、上下標、文字豎排、大文本字段分頁時斷開、標識說明、格式刷單元格Web屬性&#xff1a;web顯示、web編輯風格、控件實際值…

sklearn 安裝_sklearn-classification_report

原型sklearn.metrics.classification_report(y_true, y_pred, labelsNone, target_namesNone, sample_weightNone, digits2)參數y_true&#xff1a;1維數組或標簽指示數組/離散矩陣&#xff0c;樣本實際類別值列表y_pred&#xff1a;1維數組或標簽指示數組/離散矩陣&#xff0c…

effective c++條款11擴展——關于拷貝構造函數和賦值運算符

effective c條款11擴展——關于拷貝構造函數和賦值運算符 作者&#xff1a;馮明德重點:包含動態分配成員的類 應提供拷貝構造函數,并重載""賦值操作符。 以下討論中將用到的例子: class CExample { public: CExample(){pBufferNULL; nSize0;} ~CExample(){delete pB…

SparkSQL 之 Shuffle Join 內核原理及應用深度剖析-Spark商業源碼實戰

本套技術專欄是作者&#xff08;秦凱新&#xff09;平時工作的總結和升華&#xff0c;通過從真實商業環境抽取案例進行總結和分享&#xff0c;并給出商業應用的調優建議和集群環境容量規劃等內容&#xff0c;請持續關注本套博客。版權聲明&#xff1a;禁止轉載&#xff0c;歡迎…

Python標準庫之csv(1)

1.Python處理csv文件之csv.writer() import csvdef csv_write(path,data):with open(path,w,encodingutf-8,newline) as f:writer csv.writer(f,dialectexcel)for row in data:writer.writerow(row)return True 調用上面的函數 data [[Name,Height],[Keys,176cm],[HongPing,1…

python自動化測試腳本可以測php嗎_請對比分析一下php的自動化測試與python的自動化測試...

Unit Level Test: Python: doctest, nose PHP: PHPUnit Behaviour Driven Test (Cucumber-style): Python: Lettuce, Behave PHP: Behat Behaviour Driven Test (Spec-style): Python: spec PHP: PHPSpec Acceptance Test (Selenium): Python: 有官方的Selenium binding。 PHP:…

簡單易變的CSS陰影效果

厭倦了在圖片處理軟件上給每張圖片加上邊框修飾&#xff1f;讓CSS幫你一把吧&#xff01;嘿嘿&#xff0c;看看下面的幾張效果圖&#xff0c;邊框都不是用圖片做的&#xff0c;很方便吧&#xff1f; 文字塊的應用效果 NARROW This is the text that goes in the middle. MEDIUM…

我用代碼來給你們分析一個賺錢的技巧

2019獨角獸企業重金招聘Python工程師標準>>> 賺錢是個俗氣的話題&#xff0c;但又是人人都繞不開的事情。我今天來“科學”地觸碰下這個話題。 談賺錢&#xff0c;就會談到理財、投資&#xff0c;談到炒股。有這樣一個笑話&#xff1a; 問&#xff1a;如何成為百萬富…

idea中自動deployment的步驟

轉載于:https://www.cnblogs.com/littlehb/p/11322666.html

python怎么編輯文件_如何使用python中的方法對文件進行修改文件名

在使用python語言中的方法操作文件時&#xff0c;打開方法可以直接使用open&#xff0c;但是對文件重命名需要調用os模塊中的方法&#xff0c;刪除文件也是工具/原料 python 編輯器 截圖工具 臺式機 方法/步驟 1 進入到python安裝文件目錄&#xff0c;新建txt文件kou.txt2 打開…

球迷必備Euro Cup Mobile 2008 !-dopod touch diamond試用之歐洲杯

歐洲杯從6月8日開始&#xff0c;到現在已經進行了半個多月了。到今天為止已經進入到了尾聲&#xff0c;也到了激戰正酣的時刻&#xff01;(相信在國足出線無望后大伙的目光都聚集到了歐洲杯上) 但是平時上班忙&#xff0c;晚上也沒法熬夜看球&#xff0c;哥們心理著急呀。白天上…

【工具】switchhost

1.前提 主要功能切換host 2.下載路徑 https://oldj.github.io/SwitchHosts/ 3.使用略&#xff08;太簡單&#xff09;轉載于:https://www.cnblogs.com/totoro-cat/p/9987101.html

C# ?. 判斷Null值

有一句代碼&#xff1a; Html.DisplayFor(modelItem > item.SellDate, "RegularDate") RegularDate.cshtml 內容如下&#xff1a; model System.DateTime Model.ToString("yyyy/MM/dd") 目的是將數據庫里的 DateTime 顯示為完整日期&#xff0c;如 2019…

MOSS站點的FORM認證修改小結

項目中&#xff0c;將moss站點修改成form認證的方法&#xff0c;園子里面已經很多了&#xff0c;我就不再重提&#xff0c;其中有1點有些文章沒有提及&#xff0c;但是實際操作中又是比較重要的&#xff1a;在管理中心的web.config中添加roleManager之后&#xff0c;一定要將ht…

python中意外縮進是什么意思_如何處理python中的“意外縮進”?

慕工程0101907 Python在行的開頭使用間距來確定代碼塊何時開始和結束。你可以得到的錯誤是&#xff1a;意外的縮進。這行代碼在開始時比前一行有更多空格&#xff0c;但前一行不是子塊的開頭&#xff08;例如if / while / for語句&#xff09;。塊中的所有代碼行必須以完全相同…

HDU 1042 N!(高精度階乘、大數乘法)

N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 100274 Accepted Submission(s): 30006 Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!Input One N in one li…

設計模式學習筆記九:原型模式(Prototype Pattern)

1&#xff0e;概述 意圖&#xff1a;我們將已經存在的對象作為原型&#xff0c;用戶可以通過復制這些原型創建新的對象。 使用場合&#xff1a;當一個系統應該獨立于產品的創建、構造和表示時&#xff0c;可以使用原型模式。在原型模式中&#xff0c;產品的創建和初始化…

Centos7上安裝docker

步驟&#xff1a;1、Docker 要求 CentOS 系統的內核版本高于 3.10 &#xff0c;查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。通過 uname -r 命令查看你當前的內核版本2、使用 root 權限登錄 Centos。確保 yum 包更新到最新。 &#xff08;這個可能需要幾分鐘的…

pythonista3安裝stash_Pythonista下stash安裝教程

前言 “StaSh is a serious attempt to implement a Bash-like shell for Pythonista.” StaSh是一個Pythonista環境下的仿shell程序&#xff0c;Sta來自于Pythonista的后三個字母&#xff0c;Sh即shell縮寫。除了能完成shell的基本功能外&#xff0c;最主要的功能還有實現pip安…

通過java類的反射機制獲取類的屬性類型

import java.lang.reflect.Field;import java.lang.reflect.Method; Class<?> clsClass.forName(className);//通過類的名稱反射類//Class<?> cls Object.getClass();Field field cls.getDeclaredField("name");//根據屬性名稱獲取單個屬性if (field…