動態

詳情 返回 返回

Ubuntu安裝typecho博客 - 動態 詳情

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、知乎、開源中國、思否、博客園、掘金、簡書、華為雲、阿里雲、騰訊雲、嗶哩嗶哩、今日頭條、新浪微博、個人博客

全網可搜《小陳運維》

文章主要發佈於微信公眾號

user avatar guoxiaoyu 頭像 shuyixiaobututou 頭像 congjunhua 頭像 savokiss 頭像 tong_6816038415d24 頭像 niewj 頭像 49u7s8yz 頭像 kubesphere 頭像 shiluodexiaomaju 頭像 wangjingyu_5f58472234cff 頭像 manongsir 頭像 openeuler 頭像
點贊 19 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.