Lemp + Wordpress 개인 블로그 빠른 구축
내 블로그 주소: 푸른 달 단풍 Aitsuki
블로그를 통해 이 강좌 보기
MySql
sudo apt install mysql-server
sudo mysql
# wordpress 、 、 。
create database wordpress;
create user username identified with 'password';
grant all privileges on wordpress.* to username;
flush privileges;
exit
위의username과password를 원하는 사용자 이름과 비밀번호로 바꾸십시오. 이 데이터베이스와 계정을 기억하고 wordpress 설정에 기록해야 합니다.
Nginx
sudo apt install nginx
이 때 브라우저를 사용하면 당신의 웹 사이트에서 Nginx의 기본 첫 페이지를 볼 수 있습니다.
Gzip 구성:https://kinsta.com/blog/enable-gzip-compression/
sudo vim /etc/nginx/nginx.conf
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
gzip_buffers 16 8k;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# sudo service nginx reload
sudo nginx -s reload
PHP
sudo apt install php-fpm
# , wordpress 。
sudo apt install php-mysql php-gd php-curl php-dom php-mbstring php-imagick php-zip php-gmp php-bcmath
# 7.4 , , 7.2 。
sudo vim /etc/php/7.4/fpm/php.ini
php 구성을 수정하려면 다음과 같이 하십시오.
# Nginx + PHP CGI ,https://www.laruence.com/2010/05/20/1495.html
cgi.fix_pathinfo = 0
# ( , )
upload_max_filesize = 128M
post_max_size = 128M
# fpm
sudo service php7.4-fpm restart
phpMyAdmin
phpMyAdamin은 데이터베이스 관리 도구로 어떤 경우에는 매우 유용합니다.
# phpMyAdamin
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.tar.gz
#
tar -xf phpMyAdmin-4.9.7-all-languages.tar.gz
#
mv phpMyAdmin-4.9.7-all-languages phpMyAdmin
# html
sudo mv phpMyAdmin /var/www/html
#
sudo chown -R www-data:www-data /var/www/html/phpMyAdmin/
phpMyAdmin 구성
cd /var/www/html/phpMyAdmin
sudo cp config.sample.inc.php config.inc.php
sudo vim config.inc.php
// 32 , cookie , 。 , 。
$cfg['blowfish_secret'] = ' 32 ';
phpMyAdmin의 Nginx 서비스 구성
# sites-available
cd /etc/nginx/sites-available/
# phpMyAdmin Nginx
sudo vim phpMyAdmin
server {
#
listen 8100 default_server;
listen [::]:8100 default_server;
root /var/www/html/phpMyAdmin;
index index.php;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
구성 적용
# sites-available , sites-enabled 。
# sites-enabled
sudo ln -s /etc/nginx/sites-available/phpMyAdmin /etc/nginx/sites-enabled/phpMyAdmin
# ( )
sudo nginx -t
sudo nginx -s reload
현재 사이트에 로그인한 8100 포트(서버의 보안 그룹에서 대응하는 포트를 놓는 것을 기억하십시오)는 phpMyadmin의 로그인 인터페이스를 볼 수 있습니다. 로그인할 때의 계정 비밀번호는 바로 앞에 있는 MySql 명령으로 새로 만든 것입니다.
phpMyAdmin 고급 기능(옵션)
또한 phpMyAdmin의 첫 페이지 하단에'phpMyAdmin의 고급 기능이 아직 완전히 설정되지 않았고 일부 기능이 활성화되지 않았습니다'라는 메시지가 표시될 수 있습니다. 이른바 고급 기능이 도대체 무엇인지 모르겠습니다. 관심이 있다면 열어 보십시오.
sudo mysql
# sql: phpmyadmin
source /var/www/html/phpMyAdmin/sql/create_tabls.sql;
# phpmyadmin , pma pmapass
create user pma identified by 'pmapass';
grant all privileges on phpmyadmin.* to pma;
flush privileges;
exit
고급 기능 구성:
sudo vim /var/www/html/phpMyAdmin/config.inc.php
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
#
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Storage database and tables */
#
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
phpmyadmin에 다시 로그인하면 됩니다.
Wordpress
# wordpress
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
#
tar -xf latest-zh_CN.tar.gz
# html
sudo mv wordpress /var/www/html/
# wordpress owner group, nginx (www-data)
#
sudo chown -R www-data:www-data /var/www/html/wordpress
wordpress의 Nginx 서비스 구성
cd /etc/nginx/sites-available/
sudo vim wordpress
# https://www.digitalocean.com/community/tutorials/how-to-implement-browser-caching-with-nginx-s-header-module-on-ubuntu-16-04
# Expires map
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/javascript max;
~image/ max;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
#
client_max_body_size 128m;
client_body_buffer_size 128m;
#
expires $expires;
root /var/www/html/wordpress;
index index.php;
#
server_name yourdomain.com www.yourdomain.com;
location / {
#
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
sudo nginx -t
sudo nginx -s reload
현재 당신의 사이트에 로그인하기만 하면 워드프레스 마법사에 따라 후속 작업을 완성할 수 있습니다.
SSL 인증서 구성(옵션)
무료 인증서 도착https://freessl.cn/이 사이트에서 신청하면 최종적으로 당신은 xxx라는 이름을 얻을 수 있습니다.crt, xxx.키의 인증서 파일과 키입니다.
인증서와 키를 서버에 업로드하고
/etc/nginx/ssl
디렉터리에 놓으면 디렉터리 자체가 만들 필요가 없습니다./etc/ssl
디렉터리나 다른 디렉터리에 넣을 수도 있습니다. 규정이 없습니다.ssl 설정
sudo vim /etc/nginx/sites-available/wordpress
다음 규칙을 추가합니다. (기존의 80포트를 443포트로 바꾼 다음 80포트의 서비스가 443포트로 바뀌었다는 것을 다시 설명합니다.)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 http2;
ssl_certificate /etc/nginx/ssl/xxx.crt;
ssl_certificate_key /etc/nginx/ssl/xxx.key;
add_header Strict-Transport-Security "max-age=31536000";
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5';
...
}
sudo nginx -t
sudo nginx -s reload
현재 인증서가 설치되어 있습니다. 홈페이지에 접근하는 데 문제가 발생할 수 있습니다. 워드프레스 백엔드
-
에 워드프레스 주소와 사이트 주소의 접두사를 https로 설정해야 합니다.파일 권한 고려 사항
wordpress는 Nginx를 배치하고 사용자 그룹은 www-data입니다.그래서 앞의 강좌에서wordpress 디렉터리 사용자 그룹을 변경하는 동작
sudo chown -R www-data:www-data wordpress
이 있습니다. 그렇지 않으면wordpress 백엔드에 많은 권한으로 인해 문제가 발생할 수 있습니다.또 어떤 방법은 wordpress의 읽기와 쓰기 권한을 모든 사용자
chmod 777
에게 주는 것이다. 본질적으로 사용자 그룹을 수정하는 것과 다름없지만 전자가 더욱 안전하다.추천 플러그인
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.