① Nginx如何配置可以讓.html後綴的文件當php動態文件執行呢
有兩種方式修改nginx配置文件可以實現。方式一:打開你的網站的nginx配置文件,然後找到:「location ~ \.php$ {」,再把其中的\.php修改為:「\.php|\.html」,保存後重啟nginx即可。方式二:同上,打開配置文件找到:「location ~ \.php$ {」,然後把location整段復制,在下面粘帖上,再把\.php修改為\.html,保存後重啟nginx即可生效。上述兩種方式的配置示例代碼如下:location ~ \.php|\.html$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /webs$fastcgi_script_name; include fastcgi_params; }示例代碼二:location ~ \.html$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /webs$fastcgi_script_name; include fastcgi_params; } 到建站技術學習論壇網站查看回答詳情>>
② Linux+Nginx下SSL證書安裝
"一.Nginx安裝SSL證書需要兩個配置文件
(溫馨提示:安裝證書前請先備份您需要修改的伺服器配置文件)
1_root_bundle.crt、2_domainname.com.key。註:這三個證書文件都在文件夾for Nginx.zip中,例:1_root_bundle.crt是根證書鏈(公鑰),2_domainname.com.key為私鑰。
(其中:證書公鑰、私鑰文件一般以您的域名命名;證書後綴名crt和cer的性質是一樣的)。
二.Nginx安裝證書
1.打開Nginx安裝目錄下conf目錄中的nginx.conf文件
找到:
#HTTPS server
#
#server{
#listen 443;
#server_name localhost;
#ssl on;
#ssl_certificate cert.pem;
#ssl_certificate_key cert.key;
#ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers on;
#location/{
#root html;
#index index.html index.htm;
#}
#}
將其修改為:
server{
listen 443;
server_name localhost;
ssl on;
ssl_certificate 1_root_bundle.crt;(證書公鑰)
ssl_certificate_key 2_domainname.com.key;(證書私鑰)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location/{
root html;
index index.html index.htm;
}
註:配置完成後的網站路徑及默認頁等配置請與80埠保持一致。
2. 本地測試訪問。
如果本地測試,請做本地解析訪問:打開系統盤:\Windows\System32\Drivers\etc\hosts文件,用文本編輯器修改,把證書綁定的域名解析到本地ip。
3.完成配置後的效果。
啟動nginx,訪問https://+證書綁定的域名
註:部署完畢後若網站無法通過https正常訪問,可確認伺服器443埠是否開啟或被網站衛士等加速工具攔截。
(1)開啟方法:防火牆設置-例外埠-添加443埠(TCP)。
(2)若被安全或加速工具攔截,可以在攔截記錄中將443添加至信任列表。
重啟後,重新通過https訪問。
三.SSL證書的備份
請保存好收到的證書壓縮包文件及密碼,以防丟失。以上內容來自景安網路。
"
③ 利用nginx部署站點,前端資源默認放在
部署springboot+vue項目的時候,我們一般是將打包好的前端項目放在我們後端的resources目錄下,然後前後端一起打包成jar包或者war包部署上伺服器的。也就是說,如果前端項目發生修改的話,那麼即使後端不用修改,前後端項目也要重新放在一起重新打包、重新部署。但是,前端項目打包往往是幾mb大小,而後端項目打包卻要幾十mb。因此,為了方便,我們可以使用Nginx獨立部署前端項目。
一、 Nginx安裝步驟
1、安裝GCC、automake、pcre、zlib和openssl
用rpm -qa 命令查看是否安裝
如果沒有安裝,執行以下命令
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
1
2、下載Nginx
我是安裝在 /www/server目錄的
cd /www/server
1
weget命令下載
wget http://nginx.org/download/nginx-1.16.1.tar.gz
1
tar zxvf 解壓
tar zxvf nginx-1.16.1.tar.gz
1
重命名 nginx-1.16.1文件夾
mv nginx-1.16.1 nginx
1
3、安裝Nginx,默認安裝目錄:/usr/local/nginx
進入nginx文件夾,運行configure腳本
cd nginx
./configure
1
2
編譯、安裝
make
make install
1
2
切換到安裝目錄
cd /usr/local/nginx
1
注意:html:存放了兩個後綴名為.html的靜態文件,前端項目打包後的文件放在此處,編輯好配置文件,啟動Nginx伺服器即可成功部署前端項目。
4、修改配置文件、開放埠
vim /usr/local/nginx/conf/nginx.conf
1
埠改為 8051
5、啟動Nginx
cd /usr/local/nginx
./sbin/nginx
1
2
6、其他命令
查看進程
ps -ef|grep nginx
1
重啟Nginx
/usr/local/nginx/sbin/nginx -s reopen
1
停止Nginx
/usr/local/nginx/sbin/nginx -s stop
1
重載Nginx配置文件
/usr/local/nginx/sbin/nginx -s reload
1
7、訪問
curl 127.0.0.1:8051
1
如果訪問不了,伺服器安全組開放埠以及防火牆放行埠
firewall-cmd --zone=public --add-port=8051/tcp --permanent
1
firewall-cmd --reload
1
二、前端項目獨立部署
1、將打包的前端項目上傳到/usr/local/nginx/html目錄
2、 重新啟動即可成功訪問到前端項目
/usr/local/nginx/sbin/nginx -s reopen
1
可能遇到的問題
1、刷新頁面查詢404的情況,也就是頁面找不到
修改Nginx配置文件
try_files $uri $uri/ /index.html;
1
重新載入配置文件重啟Nginx
④ nginx conf.d目錄下的文件怎麼配置
(1)定義環境變數
語法:env VAR|VAR=VALUE
這個配置項可以讓用戶直接設置操作系統上的環境變數。例如:
1. env TESTPATH=/tmp/;
(2)嵌入其他配置文件
語法:include /path/file;
include配置項可以將其他配置文件嵌入到當前的nginx.conf文件中,它的參數既可以是絕對路徑,也可以是相對路徑(相對於Nginx的配置目錄,即nginx.conf所在的目錄),例如:
1. include mime.types;
2. include vhost/*.conf;
可以看到,參數的值可以是一個明確的文件名,也可以是含有通配符*的文件名,同時可以一次嵌入多個配置文件。
(3)pid文件的路徑
語法:pid path/file;
默認:pid logs/nginx.pid;
保存master進程ID的pid文件存放路徑。默認與configure執行時的參數「--pid-path」所指定的路徑是相同的,也可以隨時修改,但應確保Nginx有權在相應的目標中創建pid文件,該文件直接影響Nginx是否可以運行。
(4)Nginx worker進程運行的用戶及用戶組
語法:user username [groupname];
默認:user nobody nobody;
user用於設置master進程啟動後,fork出的worker進程運行在哪個用戶和用戶組下。當按照「user username;」設置時,用戶組名與用戶名相同。
若用戶在configure命令執行時使用了參數--user=username和--group=groupname,此時nginx.conf將使用參數中指定的用戶和用戶組。
(5)指定Nginx worker進程可以打開的最大句柄描述符個數
語法:worker_rlimit_nofile limit;
設置一個worker進程可以打開的最大文件句柄數。
(6)限制信號隊列
語法:worker_rlimit_sigpending limit;
設置每個用戶發往Nginx的信號隊列的大小。也就是說,當某個用戶的信號隊列滿了,這個用戶再發送的信號量會被丟掉。