Рабочий ли вариант если просто через rsync передать всю папку /var/lib/mysql?
Еще вариант с репликацией, но насколько я понял всё равно базу нужно блокировать на момент дампа, а это тоже какое-то время
При этом не работают ссылки, по любому адресу открывается главная страница.
try_files $uri $uri/ /index.php?$args;
.Недавно проверял состояние сервера и заметил в логах много неудачных попыток входа на сервер (В основном через ssh)ну как первый раз в интернет вышел, уже сто лет такое, ssh вообще постоянно долбят, ставишь fail2ban, а еще лучше меняешь дефолтный порт и ставишь логин только по ключу. А регион блокировать, так себе идея.
serve_from_sub_path
в true
# this is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream grafana {
server localhost:3000;
}
server {
listen 80;
root /usr/share/nginx/www;
index index.html index.htm;
location /grafana/ {
proxy_set_header Host $http_host;
proxy_pass http://grafana;
}
# Proxy Grafana Live WebSocket connections.
location /grafana/api/live/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_pass http://grafana;
}
}
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN');
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://VASH-DOMEN', 'https://VASH-DOMEN') WHERE option_name = 'home' OR option_name = 'siteurl';
if ( ! function_exists( 'get_chatgpt_responce' ) ) {
/**
* Returns query result or error
*
* @param string $question Text API question.
* @param string $promt Text API promt (for chat).
* @param string $model API model.
* @param string $api_key API key.
*
* @return void
*/
function get_chatgpt_responce( $question = null, $promt = null, $model = 'gpt-3.5-turbo', $api_key = 'sk-le000000000000000000000000000000000000' ) {
if ( is_null( $question ) ) {
return null;
}
$type = 'text';
if ( $model === 'davinci-codex' ) {
$type = 'codex';
}
if ( in_array( $model, array( 'gpt-4', 'gpt-4-0314', 'gpt-4-32k', 'gpt-4-32k-0314', 'gpt-3.5-turbo', 'gpt-3.5-turbo-0301' ), true ) ) {
$type = 'chat';
}
$headers = "Content-Type: application/json\r\n" . "Authorization: Bearer " . $api_key . "\r\n";
$params = array(
'model' => $model,
'temperature' => 0.7,
'top_p' => 1,
);
if ( $type === 'chat' ) {
$url = 'https://api.openai.com/v1/chat/completions';
$params['n'] = 1;
if ( ! is_null( $promt ) ) {
$params['messages'][] = array(
'role' => 'system',
'content' => $promt,
);
}
$params['messages'][] = array(
'role' => 'user',
'content' => $question,
);
} elseif( $type === 'codex' ) {
$url = 'https://api.openai.com/v1/engines/davinci-codex/completions';
$params['prompt'] = $question;
$params['max_tokens'] = 4096 - iconv_strlen( $question );
} else {
$url = 'https://api.openai.com/v1/completions';
$params['prompt'] = $question;
$params['max_tokens'] = 4096 - iconv_strlen( $question );
}
$args = array(
'method' => 'POST',
'timeout' => 240,
'redirection' => 5,
'httpversion' => '1.0',
'blocking' => true,
'headers' => $headers,
'body' => json_encode( $params ),
'sslverify' => true,
);
$response = wp_remote_request( $url, $args );
if ( is_wp_error( $response ) ) {
$notification = $response->get_error_message();
} elseif ( in_array( wp_remote_retrieve_response_code( $response ), array( 400, 401, 403, 404 ), true ) ) {
$body = json_decode( wp_remote_retrieve_body( $response ), true );
$notification = $body['error']['message'];
} elseif ( wp_remote_retrieve_response_code( $response ) === 200 ) {
$body = json_decode( wp_remote_retrieve_body( $response ), true );
$notification = 'Расход GPT токенов: ' . $body['usage']['total_tokens'] . '. Причина остановки: ' . $body['choices'][0]['finish_reason'];
if ( $type === 'chat' ) {
return $body['choices'][0]['message']['content'];
} else {
return $body['choices'][0]['text'];
}
}
if ( function_exists( 'telegram_notification' ) ) {
telegram_notification( $notification );
}
return false;
}
}
$query = 'Write a list frequently asked questions about the get_the_title() WordPress function.';
$chatgpt = get_chatgpt_responce( $query );
var_dump( $chatgpt );
Чтобы заказчик закидывал деньги на сайт, они сохранялись на сайте, и потом выводились в кошелек фрилансера,
Однако хостинг-провайдерам приходилось в свое время оформлять телематическую лицензию, поскольку наряду с базовыми услугами размещения сайтов провайдеры также предлагают сопутствующие услуги, прописанные в законе «О связи»: предоставление услуг электронной почты и т.д.