В этой статье в основном записывается серия контента в текущем блоге для статических ресурсов, переходов на старый сайт 301, конфигурации HTTPS и т. д. nginx использует блок сервера для определения определенной части имени виртуального домена и связанных конфигураций, поэтому мы можем настроить имя виртуального домена server_name в блоке сервера, журнал доступа access_log, обратный переход, корневой каталог корневого проекта, URL-адрес сопоставления местоположения для соответствующих операций, страница ошибки error_page, прослушивание порта прослушивания, включение файла конфигурации и другие операции, такие как ssl. текущий контент
301 и 302 прыжок
Первоначальный старый сайт blog.congcong.us и т. д. перешел на www.congcong.us 301.
$scheme — текущий протокол
$request_uri — параметр запроса
Код конфигурации выглядит следующим образом:
server {
server_name congcong.us blog.congcong.us;
access_log /var/log/nginx/www.access.log;
#root /usr/share/nginx/html/blogtemp;
return 301 $scheme://www.congcong.us$request_uri;
}
Кэш конфигурации статического ресурса
Настройте кэширование изображений, css и другого содержимого по мере необходимости. access_log не записывает запросы на изображения. expires – это время истечения срока действия.
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
Настройте php и настройте украшение URL-адреса php
Отфильтруйте все URL-адреса, если они не заканчиваются на index.php, затем добавьте это для перезаписи
Отфильтруйте весь конечный контент php и передайте его в php-fpm для обработки
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
location ~ \.php$ {
root /usr/share/nginx/html/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
include fastcgi_params;
}
Настроить HTTPS, настроить SSL
Мониторинг порта 443, включение конфигурации ssl, связывание crt и ключа, установка протокола ssl, поддержка алгоритма шифрования и т. д. (бесплатный сертификат, запрашиваемый Tencent Cloud)
listen 443;
ssl on;
ssl_certificate "/xxx/xxx/1_www.congcong.us_bundle.crt";
ssl_certificate_key "/xxx/xxx/2_www.congcong.us.key";
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
Полная конфигурация выглядит следующим образом:
#
# The default server
#
server {
server_name congcong.us blog.congcong.us;
access_log /var/log/nginx/www.access.log;
return 301 $scheme://www.congcong.us$request_uri;
}
server {
server_name projects.congcong.us kindle.congcong.us;
access_log /var/log/nginx/pk.access.log;
return 302 $scheme://congcong.us;
}
server {
listen 443;
server_name www.congcong.us;
root /xxx/xxx/xxx/xxx/wordpress;
index index.php index.html index.htm;
# Load configuration files for the default server block.
include /xxx/xxx/default.d/*.conf;
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
location ~ \.php$ {
root /xxx/xxx/xxx/xxx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
ssl on;
ssl_certificate "/xxx/xxx/1_www.congcong.us_bundle.crt";
ssl_certificate_key "/xxx/xxx/2_www.congcong.us.key";
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
server {
listen 80 default_server;
server_name www.congcong.us;
root /xxx/xxx/xxx/xxx/wordpress;
index index.php index.html index.htm;
# Load configuration files for the default server block.
include /xxx/xxx/default.d/*.conf;
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
location ~ \.php$ {
root /xxx/xxx/xxx/xxx/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 1000;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Статьи по Теме
- [ПРИМЕЧАНИЕ-C] Подробное объяснение указателей языка C (1)
- [NOTE-PHP] Подробное объяснение инструмента управления зависимостями PHP Composer
- [NOTE-ENCRYPT]Java реализует алгоритм асимметричного шифрования RSA, DH.
- [NOTE-ENCRYPT] Java реализует подпись и проверку алгоритмов RSA, DSA и ECDSA.
- [NOTE-ENCRYPT] Подробное объяснение алгоритма асимметричного шифрования и RSA.
- [NOTE-DS] Обзор структуры данных и нотация Big O
- [NOTE-C]Ввод и вывод на языке C
- [NOTE-C] Операторы языка C