From 9d4fccc9491a3ccfcc3bd719d5f28ebfd0b6ae54 Mon Sep 17 00:00:00 2001 From: dokuwiki <hello@example.com> Date: Wed, 3 Feb 2021 17:19:52 +0000 Subject: [PATCH] Wiki page install changed with summary [LAMP] by shykana --- pages/install.txt | 146 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 pages/install.txt diff --git a/pages/install.txt b/pages/install.txt new file mode 100644 index 0000000..e39ba7e --- /dev/null +++ b/pages/install.txt @@ -0,0 +1,146 @@ +====== ä¸€äº›ç®€å•æœåŠ¡çš„å®‰è£… ====== + +å› ä¸ºå¾ˆå¤šè½¯ä»¶çš„å®‰è£…æ•´ä½“è¾ƒç®€å•,所以本页é¢å°†å…¶ä¸çš„一些汇编起æ¥ã€‚ + +===== Ubuntu: PPA çš„ä»‹ç» ===== + +PPA (Personal Package Archive, 直译为个人软件包档案库) 对 Ubuntu 用户æ¥è¯´ï¼Œæ˜¯å®‰è£…官方软件库里所缺少的软件的一ç§ä¾¿æ·æ–¹æ³•。基本上,PPA æä¾›äº†ç¬¬ä¸‰æ–¹ç¼–è¯‘çš„è½¯ä»¶åŒ…ï¼Œè€Œæ·»åŠ PPA åŽï¼Œç”¨æˆ·å¯ä»¥ä½¿ç”¨æ™®é€šçš„ APT 命令æ¥å®‰è£…软件。但是,由于 PPA 的软件包是第三方æä¾›çš„,这些软件包的安全性也ä¸ä¸€å®šèƒ½å¾—到ä¿è¯ã€‚ + +PPA 有很多个,æ¯ä¸ªä¸€èˆ¬å¯¹åº”一系列的软件。æ¯ä¸ª PPA æœ‰ä¸€ä¸ªæ ‡è¯†ï¼ŒåŸºæœ¬å½¢å¼æ˜¯ ''ppa:user/ppa-name'' ã€‚æ‰¾åˆ°æ ‡è¯†åŽï¼Œä½¿ç”¨ï¼š +<code> +sudo add-apt-repository ppa:user/ppa-name +sudo apt-get update +</code> +è¿™æ ·æ·»åŠ PPA åŽï¼Œå°±å¯ä»¥ä½¿ç”¨æ™®é€šçš„ ''sudo apt install ...'' æ¥å®‰è£… PPA ä¸åŒ…å«çš„软件包了。 + +===== Nginx ===== + +在 Ubuntu 上官方æºçš„ Nginx 版本并ä¸ä¸€å®šè¶³å¤Ÿæ–°ï¼Œè‹¥æƒ³ä½¿ç”¨æ›´åŠ æ–°çš„ç‰ˆæœ¬ï¼Œå¯ä»¥ä½¿ç”¨è¿™ä¸ª PPA: ''ppa:ondrej/nginx-mainline'' ([[https://launchpad.net/~ondrej/+archive/ubuntu/php|PPA 页é¢]])。 + +<code> +sudo add-apt-repository ppa:ondrej/nginx-mainline +sudo apt-get update +sudo apt install nginx +</code> +使用上述代ç 安装 Nginx。 +<code> +sudo systemctl enable nginx +sudo systemctl start nginx +</code> +使用上述代ç é…ç½® Nginx 开机å¯åŠ¨å¹¶å¼€å¯ Nginx。 + +æ¤æ—¶ï¼Œæ‚¨åº”该å¯ä»¥ä»Žæµè§ˆå™¨è®¿é—®æ‚¨ä¸»æœºçš„ IP 地å€ï¼Œå¹¶çœ‹åˆ° Nginx 的默认页é¢ã€‚(看ä¸åˆ°çš„è¯ï¼Œæ‚¨å¯ä»¥å…ˆè¡Œå°è¯•使用 VPN æ¥è®¿é—®ï¼›è¿˜æ˜¯çœ‹ä¸åˆ°çš„è¯å°±å¯ä»¥å°è¯•寻找安装或是é…置的问题了。) + +==== å¯èƒ½çš„问题 ==== + +如果 ''sudo systemctl start nginx'' 出现错误,å¯ä»¥ä½¿ç”¨ ''sudo systemctl status nginx'' ä»¥åŠ ''sudo journalctl -u nginx'' 查看出错信æ¯ã€‚一般具有 ''[emerg]'' çš„ä¿¡æ¯æ˜¯å…³é”®çš„错误信æ¯ã€‚ + +这里的问题集åˆ<del>ä¸ä¸€å®š</del>一定ä¸å®Œå…¨ï¼Œæ¬¢è¿Žæ‚¨è§£å†³é—®é¢˜åŽå‰æ¥æ·»åŠ å†…å®¹ã€‚ + +=== ''open() "/var/log/nginx/access.log" failed (2: No such file or directory)'' === + +<code> +sudo mkdir -p /var/log/nginx +</code> +å†é‡æ–°å°è¯•å¯åŠ¨ã€‚ + +=== ''bind() to 0.0.0.0:80 failed'' === + +如果出现了 ''bind() to 0.0.0.0:80 failed'' ç±»ä¼¼è¿™æ ·çš„é”™è¯¯ï¼ˆç±»ä¼¼ï¼šå³å«æœ‰ ''bind'', '':80'' è¿™æ ·çš„ä¿¡æ¯ï¼‰ï¼Œå¤§æ¦‚率是端å£å†²çªã€‚这应该是æŸäº› Ubuntu 自带的 HTTP æœåŠ¡å™¨å¼•èµ·çš„ã€‚å¯ä»¥å°è¯• ''sudo systemctl stop apache2'' åŽå†é‡æ–°å¼€å¯ Nginx。 + +如果还是没有æˆåŠŸï¼Œæ‚¨å¯ä»¥è¯•ç€æŸ¥çœ‹ [[https://www.runoob.com/w3cnote/linux-check-port-usage.html|Linux 查看端å£å 用情况 | èœé¸Ÿæ•™ç¨‹]] ç»§ç»å¯»æ‰¾ç«¯å£å†²çªçš„æºå¤´ã€‚ä¾‹å¦‚ï¼š +<code> +sudo lsof -i:80 +</code> +åœ¨ä¸Šè¿°å‘½ä»¤çš„è¾“å‡ºä¸æŸ¥æ‰¾å«æœ‰ ''(LISTEN)'' 的一行,例如: +<code> +COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME +... +python 26215 root 3u IPv4 650101 0t0 TCP *:http (LISTEN) +</code> +从最åŽä¸€è¡Œä¸å¯ä»¥çœ‹å‡ºï¼Œå¼•起冲çªçš„æ˜¯æŸä¸ª python (pid: 26215) 程åºã€‚è¿›ä¸€æ¥æŸ¥çœ‹è¿™ä¸ªç¨‹åºï¼š +<code> +ps -aux | grep 26215 +</code> +这个命令输出了: +<code> +root 26215 0.0 0.1 35524 16820 pts/1 S+ Feb03 0:00 python -m http.server 80 +</code> +这是一个 python 临时æœåŠ¡å™¨ã€‚æˆ‘ä»¬å¯ä»¥ ''sudo kill 26215'' æ¥å°è¯•åœæ¢è¿™ä¸ªç¨‹åºã€‚如果是其它的未知程åºï¼Œæ‚¨å¯ä»¥å°è¯•使用æœç´¢å¼•擎æœç´¢åŽå†åˆ¤æ–å¤„ç†æ–¹æ³•。 + +===== MySQL/MariaDB ===== + +MySQL å’Œ MariaDB æ˜¯ä¸¤ä¸ªå…·æœ‰è¿‘ä¹Žä¸€æ¨¡ä¸€æ ·åŠŸèƒ½çš„æ•°æ®åº“æœåŠ¡å™¨ï¼Œä¸€èˆ¬æ¥è¯´ä¸¤ä¸ªå¯ä»¥äº’相替代。由于一些许å¯è¯çš„å…³ç³»ï¼Œæˆ‘ä»¬ä¸€èˆ¬é€‰å– MariaDB。 + +[[https://downloads.mariadb.org/mariadb/repositories/|MariaDB 官方æä¾›äº†ä¸€ä¸ªå®‰è£…教程]] ,进入页é¢åŽå¾…页é¢åŠ è½½å®ŒåŽï¼Œä¾æ¬¡é€‰æ‹©å³å¯å¾—到相应的安装命令。 + +安装好åŽï¼Œä½¿ç”¨ï¼š +<code> +sudo systemctl start mysql +sudo systemctl enable mysql +</code> +上述命令æ¥å¼€å¯ MariaDB å¹¶é…置开机å¯åŠ¨ã€‚ï¼ˆæ‚¨å¯ä»¥æ³¨æ„到虽然我们安装的是 MariaDB 但命令䏿ˆ‘们å¯ä»¥ç›´æŽ¥ä½¿ç”¨ mysql。) + +===== PHP/PHP-fpm ===== + +PHP 毋须介ç»ã€‚但是 PHP 与 HTTP æœåŠ¡å™¨ä¹‹é—´éœ€è¦ä¸€å±‚接å£å°†ä¸¤è€…连接起æ¥ï¼Œè¿™ä¸ªä¸€èˆ¬ä½¿ç”¨ PHP-fpm。 + +我们å¯ä»¥ä½¿ç”¨è¿™ä¸ª PPA: ''ppa:ondrej/php'' ([[https://launchpad.net/~ondrej/+archive/ubuntu/php|PPA 页é¢]])。下é¢çš„命令您å¯ä»¥å°† ''php7.4'' 改为其它 PHP 版本,如 ''php8.0'', ''php7.3'' ç‰ï¼Œæ‚¨å¯ä»¥æ ¹æ®æ‚¨å°†è¦å®‰è£…çš„å…¶å®ƒç¨‹åºæ¥å†³å®šéœ€æ±‚。 +<code> +sudo add-apt-repository ppa:ondrej/php +sudo apt-get update +sudo apt install php7.4 php7.4-fpm +</code> +ä½¿ç”¨ä¸‹è¿°å‘½ä»¤å¼€å¯ PHP-fpm å¹¶é…置开机å¯åŠ¨ï¼ˆè¯·ç›¸åº”ä¿®æ”¹ç‰ˆæœ¬å·ï¼‰ï¼š +<code> +sudo systemctl start php7.4-fpm +sudo systemctl enable php7.4-fpm +</code> + +==== Nginx çš„é…ç½® ==== + +这里å‡è®¾æ‚¨æŒ‰ç…§æœ¬é¡µé¢çš„使用 PPA 安装了 Nginx ,那么您会在 ''/etc/nginx/sites-available/default'' 这个文件里看到 PHP é…置的示范: +<code> + # pass PHP scripts to FastCGI server + # + #location ~ \.php$ { + # include snippets/fastcgi-php.conf; + # + # # With php-fpm (or other unix sockets): + # fastcgi_pass unix:/run/php/php7.4-fpm.sock; + # # With php-cgi (or other tcp sockets): + # fastcgi_pass 127.0.0.1:9000; + #} +</code> +您应该已ç»çŸ¥é“ ''#'' å·è¡¨ç¤ºè¿™äº›ç¤ºèŒƒéƒ½æ²¡æœ‰å®žé™…效应,您å¯ä»¥å°†ä¸€äº›äº•å·åˆ 除æ¥ä½¿é…置生效: +<code> + # pass PHP scripts to FastCGI server + # + location ~ \.php$ { + include snippets/fastcgi-php.conf; + + # With php-fpm (or other unix sockets): + fastcgi_pass unix:/run/php/php7.4-fpm.sock; + # # With php-cgi (or other tcp sockets): + # fastcgi_pass 127.0.0.1:9000; + } +</code> +您åªéœ€è¦ä½¿ä¸€å¥ ''fastcgi_pass'' è¯å¥ç”Ÿæ•ˆå³å¯ã€‚ï¼ˆæ‰€ä»¥æˆ‘ä»¬æ²¡æœ‰åˆ å®Œäº•å·ã€‚)修改完文件åŽï¼Œä½¿ç”¨ï¼š +<code> +sudo systemctl restart nginx +</code> +使é…置生效。 + +==== 其它 PHP 模å—的安装 ==== + +很多由 PHP 驱动的æœåŠ¡éƒ½éœ€è¦é¢å¤–安装的 PHP 模å—。您å¯ä»¥ä½¿ç”¨ ''php-fpm7.4 -m'' 查看您已ç»å®‰è£…å¹¶å¼€å¯çš„æ¨¡å—。 + +一般æ¥è¯´ï¼Œåœ¨æœ¬é¡µé¢ä½¿ç”¨çš„ PPA ä¸ï¼Œæ‚¨å¯ä»¥å°è¯•使用 ''sudo apt install php7.4-模å—å'' æ¥å®‰è£…相应扩展。但是,请注æ„ï¼Œè¿™æ ·å¯èƒ½å¹¶ä¸èƒ½æ‰¾åˆ°æŸäº›æ¨¡å—ï¼Œæ¤æ—¶ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨ ''apt search php7.4'' æ¥æŸ¥çœ‹ PPA ä¸æä¾›çš„æ¨¡å—,并å°è¯•ä»Žå‘½ä»¤è¾“å‡ºä¸æ‰¾åˆ°æ¨¡å—所对应的软件包å称。如: + +^ 软件包åç§° ^ å¯¹åº”çš„æ¨¡å— ^ +| ''php7.4-bz2'' | ''bzip2'' / ''bz2'' | +| ''php7.4-xml'' | ''dom'', ''SimpleXML'', ''XML'', ''XSL'' | +| ''php7.4'' | 会自带相当多的模å—,所以建议先 ''php-fpm7.4 -m'' æ¨¡å— | +| ''php7.4-pgsql'' | ''pdo_pgsql'' | + +您å¯ä»¥ ''php-fpm7.4 -m | grep -i 模å—å'' æ¥è¾ƒä¸ºä¾¿æ·åœ°æŸ¥çœ‹æŸæ¨¡å—是å¦å·²å®‰è£…。 \ No newline at end of file -- GitLab