Ubuntu安裝typecho博客
簡介
名稱的來歷
Typecho 是由 type 和 echo 兩個詞合成的,來自於開發團隊的頭腦風暴。
Type,有打字的意思,博客這個東西,正是一個讓我們通過打字,在網絡上表達自己的平台。Echo,意思是回聲、反饋、共鳴,也是PHP裏最常見、最重要的函數,相信大部分PHP愛好者都是從 echo 'Hello,world!'; 開始自己的PHP編程之路的。
Typecho 是國內開發者開發的一款開源免費的動態博客程序,可以運行在基於 PHP 環境的各種平台上。
- 官網:Typecho Official Site
- GitHub:typecho: A PHP Blogging Platform.
相比於同為動態博客並且廣為人知的 WordPress 來説,Typecho 的一大特點就是 “精簡”。全部文件不足 500KB,但卻也實現了完整的主題和插件支持。博客程序很輕量,資源佔用也很低,原生支持 Markdown 語法。屬於省心並且簡潔的博客類型。
安裝所需環境
# 安裝PHP所需插件
# 添加ppa源
add-apt-repository ppa:ondrej/php
apt install nginx php7.4 php7.4-mysql php7.4-fpm
下載安裝主程序
# 進入網站所在目錄
root@cby:~# cd /var/www/html/
root@cby:/var/www/html# ls
index.nginx-debian.html index.php php.php
root@cby:/var/www/html# ll
total 20
drwxr-xr-x 2 root root 4096 Dec 6 16:29 ./
drwxr-xr-x 3 root root 4096 Dec 6 16:01 ../
-rw-r--r-- 1 root root 612 Dec 6 16:01 index.nginx-debian.html
-rw-r--r-- 1 root root 20 Dec 6 16:29 php.php
root@cby:/var/www/html#
# 下載安裝包
root@cby:/var/www/html# wget https://mirrors.chenby.cn/https://github.com/typecho/typecho/releases/latest/download/typecho.zip
--2023-12-06 16:35:48-- https://mirrors.chenby.cn/https://github.com/typecho/typecho/releases/latest/download/typecho.zip
Resolving mirrors.chenby.cn (mirrors.chenby.cn)... 172.67.134.246, 104.21.25.253, 2606:4700:3032::ac43:86f6, ...
Connecting to mirrors.chenby.cn (mirrors.chenby.cn)|172.67.134.246|:443... connected.
HTTP request sent, awaiting response... 302 Found
Cookie coming from mirrors.chenby.cn attempted to set domain to github.com
Cookie coming from mirrors.chenby.cn attempted to set domain to github.com
Location: /https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip [following]
--2023-12-06 16:35:49-- https://mirrors.chenby.cn/https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip
Reusing existing connection to mirrors.chenby.cn:443.
HTTP request sent, awaiting response... 200 OK
Length: 610472 (596K) [application/octet-stream]
Saving to: ‘typecho.zip’
typecho.zip 100%[=======================================================================>] 596.16K 935KB/s in 0.6s
2023-12-06 16:35:50 (935 KB/s) - ‘typecho.zip’ saved [610472/610472]
# 解壓安裝包
root@cby:/var/www/html# unzip typecho.zip
Archive: typecho.zip
inflating: LICENSE.txt
creating: admin/
inflating: admin/editor-js.php
inflating: admin/table-js.php
inflating: admin/options-general.php
******略******
inflating: var/Widget/Contents/Page/Rows.php
inflating: var/Widget/Contents/Page/Admin.php
inflating: var/Widget/Contents/Page/Edit.php
inflating: var/Widget/XmlRpc.php
root@cby:/var/www/html#
root@cby:/var/www/html#
root@cby:/var/www/html#
# 添加權限
root@cby:/var/www/html# chmod 777 * -R
修改配置
# 修改NGINX配置
vim /etc/nginx/nginx.conf
#添加路由信息
--------------- 略 ---------------
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$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
}
--------------- 略 ---------------
重啓服務
# 設置開機自啓
root@cby:~# systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
# 重啓NGINX
root@cby:~# systemctl restart nginx
# 查看狀態
root@cby:~# systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-12-08 10:09:31 CST; 42s ago
Docs: man:nginx(8)
Process: 632604 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 632605 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 632606 (nginx)
Tasks: 5 (limit: 3943)
Memory: 112.5M
CPU: 108ms
CGroup: /system.slice/nginx.service
├─632606 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─632607 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
├─632608 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
├─632609 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
└─632610 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Dec 08 10:09:31 cby systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 08 10:09:31 cby systemd[1]: Started A high performance web server and a reverse proxy server.
root@cby:~#
# 設置開機自啓
root@cby:~# systemctl enable php7.4-fpm
Synchronizing state of php7.4-fpm.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable php7.4-fpm
# 重啓PHP-FPM
root@cby:~# systemctl restart php7.4-fpm
# 查看狀態
root@cby:~# systemctl status php7.4-fpm.service
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-12-08 10:11:02 CST; 2s ago
Docs: man:php-fpm7.4(8)
Process: 633187 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
Main PID: 633184 (php-fpm7.4)
Status: "Ready to handle connections"
Tasks: 3 (limit: 3943)
Memory: 11.0M
CPU: 64ms
CGroup: /system.slice/php7.4-fpm.service
├─633184 "php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
├─633185 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
└─633186 "php-fpm: pool www" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
Dec 08 10:11:02 cby systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Dec 08 10:11:02 cby systemd[1]: Started The PHP 7.4 FastCGI Process Manager.
root@cby:~#
我的NGINX配置文件
# NGINX配置文件
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
log_format main '{ "@timestamp": "$time_local", '
'"remote_addr": "$remote_addr",'
'"remote_port": "$remote_port",'
'"scheme": "$scheme",'
'"request_uri": "$request_uri",'
'"request_method": "$request_method",'
'"request_time": "$request_time",'
'"request_length": "$request_length",'
'"response_status": "$status",'
'"body_bytes_sent": "$body_bytes_sent",'
'"http_referer": "$http_referer",'
'"http_user_agent": "$http_user_agent",'
'"http_x_forwarded_for": "$http_x_forwarded_for",'
'"upstream_addr": "$upstream_addr",'
'"upstream_response_time": "$upstream_response_time",'
'"request_body": "$request_body"}';
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate /ssl/cert.pem;
ssl_certificate_key /ssl/cert.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_buffer_size 2k;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;
error_log /var/logs/nginx-error.log info;
access_log /var/logs/nginx-access.log main;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
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$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
關於
https://www.oiox.cn/
https://www.oiox.cn/index.php/start-page.html
CSDN、GitHub、51CTO、知乎、開源中國、思否、博客園、掘金、簡書、華為雲、阿里雲、騰訊雲、嗶哩嗶哩、今日頭條、新浪微博、個人博客
全網可搜《小陳運維》
文章主要發佈於微信公眾號