windows下使用apache經驗總結

2021-09-25 08:02:11 字數 1984 閱讀 6930

httpd -t 檢測配置語法

httpd -k start 啟動伺服器

httpd -k restart 重啟啟伺服器

httpd -k stop 停止伺服器

httpd -k install -n 「apache2.4」 安裝apache到windows服務中

注意:需新增httpd的環境變數path 或者直接在httpd目錄執行cmd

注意:apache python wsgi模組均需要位數一致,比如32位還是64位

python wsgi python版本要一致

http.conf 參考配置

keepalive off  關閉長連線

servertokens prod 最低伺服器資訊

loadfile "c:\python37-32\python36.dll"

loadmodule wsgi_module "c:\python37-32\site-packages\mod_wsgi\server\mod_wsgi.cp36-win_amd64.pyd"

# pythonhome尋找第三方庫路徑

wsgipythonhome "c:\python37-32"

# 嚴格模式關閉

wsgirestrictstdout off

#防止路徑查詢不到,wsgi和平時python執行環境不一樣

wsgipythonpath c:\h\git\xieyinote\自動化筆記\qq

# wsgi指令碼自動載入,但wsgi指令碼載入的其他指令碼無法自動載入更新,還是舊的

wsgiscriptreloading on

logformat "%h %t \"%r\" %>s %b" mylog

customlog logs/mylog.txt mylog

errorlog logs/mylog_error.log

wsgiscriptalias / c:\h\git\test-wsgi.py

documentroot c:\h\git

require all granted

mpm config

# winnt mpm

# threadsperchild: constant number of worker threads in the server process

# maxrequestsperchild: maximum number of requests a server process serves

threadsperchild 150

maxrequestsperchild 1000

//maxrequestsperchild 這個預設是0,可能記憶體洩漏

maxrequestsperchild 在windows下處理n個請求後會新開程序,程序id會變化,原守護程序不變

threadsperchild為併發處理能力,能同時處理多少個請求,不然要排隊等待

httpd在windows下一般會有2個程序,但也可能3個甚至更多程序,是由於原程序任務還未執行完畢.

新開程序和原程序全域性變數不通用

直接停止,無任何提示

請記住 mod_wsgi 不允許使用 sys.stdout 和 sys.stderr

import sys

sys.stdout = sys.stderr

一些常見問題

selenium +chrome 無任何介面

chrome.headless 在apache服務模式下無效,預設無頭

如果想有介面,請在cmd命令下直接執行httpd命令

多開selenium + chrome

平均每個使用記憶體大約 120m,基本為chrome,其占用記憶體110m左右

wsgi:error是**中的print語句引起的,注釋掉所有的print語句後問題解決

linux下解除安裝apach

1 確認是否安裝過,或者系統自帶了httpd服務 rpm qa grep httpd或者 yum list grep httpd2 停止httpd服務 已經停止服務的不用執行次命令 systemctl stop httpd.service3 解除安裝apache,通過rpm e或者yum erase...

關於windows伺服器apach假死

在解決上篇文章中提到的linux問題中間,windows伺服器也出現了問題,果然天將降大任於斯人也,必先讓他加班猝死 具體問題如下 伺服器莫名其妙不能訪問,登入伺服器後出現一下彈框 檢視程序php cgi依然存在在工作,但是依然無法訪問,重啟後恢復正常.emmmm感覺每次重啟完linux再過來重啟一...

Apach下的偽靜態配置

首先,我們必須明白什麼是偽靜態,偽靜態的作用是什麼,為什麼要用到偽靜態,明白了這幾點之後我們才算真正開始學習偽靜態。1.偽靜態的作用 1.為了緩解伺服器壓力和增強搜尋引擎的友好面,有利於 的seo方面。2.為了隱藏我們需要傳遞的引數名,防止 的相關資訊被抓取。3.實際上的偽靜態是相比靜態頁面增加了伺...