Nginx + Lua 搭建網站WAF防火牆
前言
對於專案裡面只是使用代理等常用功能,線上安裝即可,如需制定化模組,則推薦編譯安裝
PS:本文不僅僅包含Nginx相關的知識點,還包含了逆天學習方法(對待新事物的處理)
官方網站:https://nginx.org/
Github:https://github.com/nginx/nginx
Nginx書籍:
- Nginx Cookbook 中文版 https://huliuqing.gitbooks.io/complete-nginx-cookbook-zh/content/
- Nginx官方中文文件 https://docshome.gitbooks.io/nginx-docs/content/
- Nginx入門教程 https://xuexb.github.io/learn-nginx/
- 淘寶Nginx文件 http://tengine.taobao.org/book/
1.線上安裝
1.1.修改yum源地址
清華源:https://mirrors.tuna.tsinghua.edu.cn/help/centos/
更新軟體包快取:yum makecache
1.2.線上安裝Nginx
線上安裝比較簡單,參考官方文件即可:https://nginx.org/en/linux_packages.html
PS:線上選
stable
的就行了,記得把$releasever
改成你的版本號,eg:7
安裝圖示:
# 建立nginx的yum vi /etc/yum.repos.d/nginx.repo # 內容如下: [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key # 線上安裝 yum install nginx -y
1.3.埠放行
放行80埠:firewall-cmd --zone=public --add-port=80/tcp --permanent
PS:規則生效:
firewall-cmd --reload
1.4.驗證安裝
2.知識拓展
2.1.編譯引數
離線安裝可以參考線上安裝的配置:nginx -V
:編譯引數(nginx -v
:檢視版本)
編譯引數詳解(點我展開)
```shell # 1.編譯選項 ## Nginx的安裝主目錄 --prefix=/etc/nginx \ ## Nginx的執行檔案路徑 --sbin-path=/usr/sbin/nginx \ ## Nginx的模組目錄 --modules-path=/usr/lib64/nginx/modules \ ## Nginx的配置檔案路徑 --conf-path=/etc/nginx/nginx.conf \ ## Nginx的錯誤日誌路徑 --error-log-path=/var/log/nginx/error.log \ ## Nginx的訪問日誌 --http-log-path=/var/log/nginx/access.log \ ## Nginx的pid檔案路徑 --pid-path=/var/run/nginx.pid \ ## Nginx的lock路徑 --lock-path=/var/run/nginx.lock \ # 2.編譯選項(執行對應模組時Nginx快取檔案的存放地址) --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ # 3.設定Nginx許可權組(雖然root許可權安裝,但可以指定nginx的執行許可權) --user=nginx \ --group=nginx \ # 4.優化 ## 啟用gzip壓縮模組(常用) --with-http_gzip_static_module \ --with-http_gunzip_module \ # 檔案使用aio非同步操作 --with-file-aio \ ## C系列優化 --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' \ ## 設定附加的引數,連結系統庫 --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' \ # HTTP內容替換 --with-http_sub_module \ # 其他優化選項 or 模組 --with-compat \ --with-threads \ --with-http_addition_module \ --with-http_auth_request_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_random_index_module \ --with-http_realip_module \ --with-http_secure_link_module \ --with-http_slice_module \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_v2_module \ --with-mail \ --with-mail_ssl_module \ --with-stream \ --with-stream_realip_module \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ ```2.2.安裝目錄
線上安裝的包都可以通過:rpm -ql xxx
檢視安裝到哪些目錄
安裝目錄詳解(點我展開)
```shell [root@localhost dnt]# rpm -ql nginx # Nginx使用用logrotate服務對日誌進行切割的配置檔案(eg:按天切割) /etc/logrotate.d/nginx # Nginx的核心目錄 /etc/nginx # 主要配置檔案,Nginx啟動的時候會讀取 /etc/nginx/nginx.conf /etc/nginx/conf.d # nginx.conf沒變更久讀default.conf(預設Server載入的檔案) /etc/nginx/conf.d/default.conf # Nginx對Python的wsgi配置 /etc/nginx/uwsgi_params # fastcgi配置 /etc/nginx/fastcgi_params # scgi配置 /etc/nginx/scgi_params # Nginx快取目錄 /var/cache/nginx # Nginx日誌目錄 /var/log/nginx # Nginx預設網站存放的路徑 /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html # 設定http的Content-Type與副檔名對應關係的配置檔案 /etc/nginx/mime.types # Nginx模組所在目錄 /usr/lib64/nginx/modules /etc/nginx/modules # 二進位制執行檔案 /usr/sbin/nginx /usr/sbin/nginx-debug # 編碼轉換的對映檔案 /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf # 配置CentOS守護程序對Nginx的管理方式 /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /etc/sysconfig/nginx /etc/sysconfig/nginx-debug # Nginx的文件 /usr/share/doc/nginx-1.16.0 /usr/share/doc/nginx-1.16.0/COPYRIGHT /usr/share/man/man8/nginx.8.gz # Nginx檢測更新命令 /usr/libexec/initscripts/legacy-actions/nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload /usr/libexec/initscripts/legacy-actions/nginx/upgrade ```2.3.預設配置
配置語法檢查:nginx -t -c /etc/nginx/nginx.conf
PS:不重啟的方式載入配置:
Nginx -s reload -c /etc/nginx/nginx.conf
全域性以及服務級別的配置:
引數 | 說明 |
---|---|
user |
使用使用者來執行nginx |
worker_processes |
工作程序數 |
error_log |
nginx的錯誤日記 |
pid | nginx啟動時的pid |
events相關配置:
引數 | 說明 |
---|---|
worker_connections |
每個程序的最大連線數 |
use |
工作程序數 |
常用中介軟體配置:
http {
......
server {
listen 80; # 埠號
server_name localhost; # 域名
# 路徑訪問控制(預設訪問路徑,eg:/ ==> 根目錄)
location / {
root /usr/share/nginx/html; # 網站根目錄
index index.html index.htm index.py; # 首頁配置
}
error_page 500 502 503 504 /50x.html; # 錯誤頁面(可以自定義添404頁面,error_page 404 /404.html;...)
# 訪問xxx/50x.html的時候去指定目錄找
location = /50x.html {
root /usr/share/nginx/html; # 錯誤頁面所在路徑
}
}
# 一個server配置一個虛擬 or 獨立的站點(通過listen和server_name來區別多個server)
server {
......
}
}
2.4.systemctl配置
nginx:(等會編譯安裝的時候可以參考)
[root@localhost dnt]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
nginx-debug:
[root@localhost dnt]# cat /usr/lib/systemd/system/nginx-debug.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx-debug -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
3.編譯安裝
3.1.安裝編譯環境
一步到位:yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
簡單拆分解析一下:
- Nginx使用
C/C++
編寫的,安裝一下依賴:yum install gcc-c++ -y
- Nginx需要使用PCRE來進行正則解析:
yum install pcre pcre-devel -y
- 現在伺服器和瀏覽器一般都是使用gzip:
yum install -y zlib zlib-devel -y
- 讓Nginx支援https:
yum install openssl openssl-devel -y
3.2.Nginx編譯安裝
3.2.1.下載解壓
先編譯安裝一下,後面說lua模組的時候再重新編譯下就行了
下載:curl -o nginx.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz
解壓:tar -zxvf nginx.tar.gz
3.2.2.配置編譯引數
參考前面說的線上版Nginx來設定編譯引數的配置:
PS:
nginx -V
切換到nginx的解壓目錄:cd nginx-1.16.0
然後執行下面命令
PS:root許可權編譯哦~
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
3.2.3.進行編譯安裝
接著編譯安裝:make && make install
PS:提速:
make -j 4 && make install
3.2.4.配置systemctl
利用systemctl新增自定義系統服務
# vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
PS:如果不生效可以過載下systemctl:systemctl daemon-reload
3.2.5.埠放行
放行80埠:firewall-cmd --zone=public --add-port=80/tcp --permanent
PS:規則生效:
firewall-cmd --reload
3.2.6.驗證
執行的時候如果出現nginx: [emerg] getpwnam("nginx") failed
的錯誤可以參考我寫這篇文章:https://www.cnblogs.com/dotnetcrazy/p/11304783.html
PS:核心:
useradd -s /sbin/nologin -M nginx
3.3.編譯安裝Lua模組
大體思路
預設是不支援Lua的,所以需要自己編譯安裝下
PS:記得安裝下Lua庫:
yum install lua lua-devel -y
主要就3步走:
- 安裝Lua即時編譯器:
LuaJIT
- 目前最新:http://luajit.org/download/LuaJIT-2.0.5.tar.gz
- 安裝Nginx模組:
ngx_devel_kit
andlua-nginx-module
- ngx_devel_kit:https://github.com/simplresty/ngx_devel_kit/archive/v0.3.1.tar.gz
- lua-nginx-module:https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz
- 重新編譯Nginx:複製線上安裝的編譯引數(
nginx -V
)然後新增兩個引數--add-module=../ngx_devel_kit-0.3.1
--add-module=../lua-nginx-module-0.10.15
3.3.1.編譯安裝luajit並匯入環境變數
解壓縮
# 編譯安裝
make install PREFIX=/usr/local/LuaJIT
# 匯入環境變數
export LUAJIT_LIB=/usr/local/LuaJIT/lib
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0
3.3.2.配置nginx的編譯引數
完整引數附錄:
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' --add-module=../ngx_devel_kit-0.3.1 --add-module=../lua-nginx-module-0.10.15
3.3.3.重新編譯安裝nginx
編譯安裝:make && make install
3.3.4.共享lua動態庫
載入lua庫到ld.so.conf檔案
echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf
執行ldconfig
讓動態函式庫載入到快取中
3.3.5.驗證Lua模組
驗證下Lua是否已經可用:
在nginx.config的server節點下新增:
PS:
vi /etc/nginx/nginx.conf
server {
listen 80;
server_name localhost;
charset utf-8; # 預設編碼為utf-8
location / {
root html;
index index.html index.htm;
}
...
# 測試Nginx的Lua(新增這一段)
location /hello {
default_type 'text/plain';
content_by_lua 'ngx.say("歡迎訪問逸鵬說道公眾號~")';
}
...
}
檢查配置:nginx -t -c /etc/nginx/nginx.conf
PS:配置生效:
nginx -s reload -c /etc/nginx/nginx.conf
看看效果:
擴充套件:你可以試試獲取ip哦~
# 獲取客戶端ip
location /myip {
default_type 'text/plain';
content_by_lua '
clientIP = ngx.req.get_headers()["x_forwarded_for"]
ngx.say("IP:",clientIP)
';
}
4.Nginx+Lua搭建WAF防火牆
市面上比較常用一塊開源專案:ngx_lua_waf
https://github.com/loveshell/ngx_lua_waf
- 攔截Cookie型別工具
- 攔截異常post請求
- 攔截CC洪水攻擊
- 攔截URL
- 攔截arg(提交的引數)
4.1.環境
clone程式碼並移動到nginx的waf目錄下
簡單說下里面的規則分別有啥用:
- args裡面的規則get引數進行過濾的
- url是隻在get請求url過濾的規則
- post是隻在post請求過濾的規則
- whitelist是白名單,裡面的url匹配到不做過濾
- user-agent是對user-agent的過濾規則
4.2.配置
修改必要配置
詳細說明我引用一下我的上篇文章:
引數簡單說明下:紅色字型部分需要修改
nginx.config
的http
下新增如下內容:
lua_package_path "/etc/nginx/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /etc/nginx/waf/init.lua;
access_by_lua_file /etc/nginx/waf/waf.lua;
4.3.生效
配置語法檢查:nginx -t -c /etc/nginx/nginx.conf
PS:不重啟的方式載入配置:
Nginx -s reload -c /etc/nginx/nginx.conf
4.4.簡單驗證
PS:其實繞過很簡單,看看他預設規則即可,這款WAF的強大之處在於輕量級,而且規則可以自定化
過濾規則在wafconf下,可根據需求自行調整,每條規則需換行,或者用|分割
舉個例子:http://192.168.0.10/hello?id=1 or 1=1
PS:預設規則沒有這點的防護
那麼我們可以在args規則中新增比如\sor\s+
,然後nginx -s reload
一下就行了
PS:如果是從post進行注入,或者cookie中轉註入,那麼在對應規則裡面新增就行,我這邊只是演示下防火牆被繞過該怎麼解決~(多看看日誌)
4.5.CC驗證
留個課後作業:使用ab來測試下nginx+lua的waf對cc的防禦效果
提示:可以使用ab -n 2000 -c 200 http://192.168.0.10
來簡單測試
PS:測試前curl http://192.168.0.10/hello 看看返回內容,測試後再curl看看返回內容
擴充套件:隱藏Nginx版本資訊
防止被黑客進行鍼對性滲透,隱藏下版本資訊
PS:其他配置今天就不詳細講解了,下次講Nginx的時候會說的
原來:
配置下:vi /etc/nginx/nginx.conf
http下新增:
server_tokens off;
檢查下語法:nginx -t
不重啟的方式載入配置檔案:nginx -s reload
現在效果:
相關推薦
Nginx + Lua 搭建網站WAF防火牆
前言 對於專案裡面只是使用代理等常用功能,線上安裝即可,如需制定化模組,則推薦編譯安裝 PS:本文不僅僅包含Nginx相關的知識點,還包含了逆天學習方法(對待新事物的處理) 官方網站:https://nginx.org/ Github:https://github.com/nginx/nginx Ng
樹莓派 Nginx+php7搭建網站
1/6.安裝Nginx+php7 並且啟動 sudo apt-get update sudo apt-get install nginx sudo apt-get install php7.0-f
Nginx + Lua搭建檔案上傳下載服務(轉載騰訊雲大神)
導語 專案需要做一個檔案上傳下載服務,利用 nginx+lua 做一個代理服務,上傳入口統一,分發到不同的機器儲存,下載連結和物理儲存隔離,支援新增 agent 的方式擴容,這裡主要講一下思路和搭建配置過程,大神勿噴。 主要邏輯 上傳 前端請求 nginx 服務, nginx 呼叫 u
WAF安全應用防火牆(nginx+lua)
一、如果使用nginx簡單實現403和404,應該都不難,只需要在配置檔案中的server欄位中新增相應的內容即可 1、nginx實現rerurn 403 修改nginx配置檔案在server中加入以下內容 set $block_user_agent
開源 WAF防火牆“Janusec Application Gateway” 搭建
0x01 介紹Janusec Application Gateway Janusec Application Gateway,一種應用程式安全解決方案,提供WAF(Web應用程式防火牆),統一Web管理門戶,私鑰保護,Web路由和可擴充套件負載平衡。使用Janusec,您可以構建安全且可伸縮的應用程
nginx+lua開發環境的搭建
1、需要的安裝包下載 mkdir -p /home/toolscd /home/tools/wget http://luajit.org/download/LuaJIT-2.0.2.tar.gzwget https://github.com/openresty/lua-nginx-module/arc
使用Nginx+Lua實現waf
使用Nginx+Lua實現waf 技術內容來自:https://github.com/loveshell/ngx_lua_waf 軟體包需求: 1 .Nginx相容性【最後測試到1.13.6】 [[email protected] src]# wget http://nginx.org/dow
進入NGINX的世界:從只會瀏覽網頁,邁向會搭建網站
Hello 大家好哦 先簡單介紹一下我自己吧 , 大米是來自北京的運維架構師一名, 從2004年參加工作至今已經第14年了 歲數確實很大啦 但是 咱們當運維的人永遠都保持著年輕的心是最重要的了 有的朋友可能要問大米了, 做運維可以幹上這麼多個年頭嗎 , 前景如何啊 待遇怎麼樣? [大米心中偷著樂]
如何快速用openresty搭建高效能服務端(Nginx+lua)
高效能服務端兩個重要要素:快取+語言支援非同步非堵塞 快取:記憶體>SSD>機械磁碟 本機>網路 程序內>程序間 非同步非阻塞:事件驅動方式(事件完成後再通知) OpenResty:顛覆了高效能服務端的開發模式(Nginx+LuaJI
Nginx+Lua環境搭建
直接安裝 準備依賴 lua-nginx-module-0.10.13.tar.gz ngx_devel_kit-0.3.0.tar.gz LuaJIT-2.0.5.tar.gz 安裝luajit tar -zxvf LuaJIT-2.0.5.tar.gz cd L
Nginx+lua(openresty)開發環境搭建shell指令碼
下面是自動搭建的指令碼,採用的是直接殺死本機執行80埠的程式。 #!/bin/bash mkdir -p /usr/servers cd /usr/servers/ yum install -y perl pcre-devel openssl openss
搭建OpenResty(Nginx+Lua)
編寫 package out cati 文章 環境 adl forward perl 這篇文章是一個多月前寫的,當時之所以搭建這個是為了最大程度上發揮Nginx的高並發效率(主要是結合lua腳本),參考的話,主要參考張開濤先生寫的跟開濤學Nginx+lua系列文章,地址為:
Nginx+Tomcat搭建高性能負載均衡集群-Windows本地測試版
other doc mime filename 連接超時 src 日誌 col process 一、安裝Tomcat和Nginx 首先安裝兩個apache-tomcat-8.0.41,下載地址:http://tomcat.apache.org 並安裝一個nginx-1.13
azure 虛擬機搭建網站
ima 設置 .cn 網站 http 過程 訪問 img 技術分享 搭建網站的過程就不說了,搭建完居然訪問不了,原來入站規則默認沒http 80 設置一下就好了 azure 虛擬機搭建網站
keepalived+nginx+tomcat搭建高性能web服務器集群
keepalived+nginx+tomcat 高性能 高可用 web服務器集群使用keepalived+nginx+tomcat搭建高性能web服務器集群,系統采用centos6.9,前端用nginx做反向代理實現負載均衡,同時結合keepalived對nginx實現高可用,後端使用兩臺tomcat做動態j
Nginx基礎搭建篇
nginx 基本介紹及安裝Nginx(輕量級web服務器) 是一個高性能的HTTP和 反向代理 服務器 優點:占用內存少、抗並發能力強、適合處理靜態頁面、穩定性高、支持熱部署等。缺點:處理動態頁面雞肋、bug比apache要多。特點:模塊化總體大致分為兩大模塊:主模塊 與 事件模塊(主模塊:配置和服務器全局
使用JavaTodo框架快速搭建網站
java環境 一段時間 紀念 新手 網站 收獲 不能 選擇 web 最近一段時間一直忙著做一個網站,這是我們導師接的一個私活,現在基本功能算是完成了。比較有收獲的是了解了JavaTodo框架。寫一些東西留作紀念吧。如果對於同樣是Web方面新手的你有一絲絲幫助。 以前用ser
解決nginx發布網站跨目錄訪問
ges php5 重啟 otto 訪問 ast con start img 解決nginx發布網站跨目錄訪問(thinkphp5+lnmp) 到:usr/local/nginx/conf/vim fastcgi.cof 把最後一行加上井號#註釋掉保存重啟 restart
nginx lua整合安裝2
lib ldconfig 鏈接 rep jit etc imp github tar 安裝lua JIT 下載 wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz 解壓: tar zxvf LuaJIT-2.
python3.x +django + nginx + uwsgi 搭建web服務
python3 介紹 wsgi str 過程 ron 開發 網站 經歷 最近一直在用django開發自己的網站、在開發和線上環境的對接過程中遇到了許多的坑、所以想以一個老鳥的經歷來寫一下怎麽 搭建web服務 一、python3.x 、django 、nginx 、uwsgi