Raspberry Pi を使用して Web サーバーを構築します (個人的には、これが最も完全なオンライン手順であり、PHP7 を使用する最新の方法だと思います)

私の個人ブログ「A Fat Orange」をご覧ください。これは 3B+ で運営されているブログです。

#序文

夏休みにRaspberry Piで遊びたくてRaspberry Pi 3B+を買ったのですが、買った後はあまり遊ばなかったので寮に置いて灰を食べていました。このWebサーバーはnginx+PHP7+typechoで構成されたサーバーです。

#まず raspbian システムをインストールします

Raspberry Pi Labのダウンロードアドレスが引用されており、直接ダウンロードできます。
ダウンロード リンク: http://downloads.raspberrypi.org/raspbian_latest
デフォルトのアカウント: ユーザー名: pi パスワード: raspberry
win32 Disk Imager を使用してシステムを書き込みます。

ここに画像の説明を挿入

「書き込み成功」と表示されたら、書き込みが成功したことを意味します

ここに画像の説明を挿入

- システムはデフォルトでは SSH を有効にしていないことにも注意してください。そのため、システムをプログラミングした後、ファイル内にサフィックスのない SSH ファイルを作成してください。

#システム構成

Raspberry Pi を使用して、ネットワーク ケーブル経由でラップトップに接続します。まず、[ネットワークと共有センター] > [アダプター設定の変更] > [WLAN プロパティ] > [共有] > [接続を許可] に移動する必要があります。

ここに画像の説明を挿入

次に、cmd コマンドを開き、arp -a を使用して Raspberry Pi の IP アドレスを見つけ、putty を使用して接続します。

ここに画像の説明を挿入

ここに画像の説明を挿入

* 接続後、次回の接続を容易にするために静的 IP アドレスを設定できます。

  1. /etc/network/interfacesを開きます
  2. 内部のコメントによると、静的 IP を設定するために変更する必要があるファイルは /etc/dhcpcd.conf であることがわかります。
  3. dhcpcd.confのコメントに従って静的IP、ゲートウェイ、DNSを設定します。

たとえば、wlan0 の静的 IP を設定するには、ファイルの最後に追加します。

次のコマンドを使用します。

sudo nano /etc/dhcpcd.conf

最後に以下を追加します

	interface eth0
	static ip_address=192.168.137.233/24 #修改成自己需要的IP
	static routers=192.168.137.1  #同上只需修改倒数第二位保持和上面相同
	static domain_name_servers=114.114.114.114 8.8.8.8

114.114.114.114 は中国の比較的高速な DNS サーバーです。 8.8.8.8 は Google の DNS サーバーです

CTRL+O を使用して保存し、CTRL+X を使用して終了します

再起動:

sudo reboot

独自の IP 接続を使用する

* 自動時刻同期のために NTP をインストールします

接続後、時刻を便利に確認するには、システムのタイムゾーンを変更するのが最善です。このとき、主に自動時刻同期用の NTP をインストールする必要があり、毎回手動で設定する必要はありません。 。

NTP をインストールします。

sudo apt-get install ntpdate

NTP を有効にする:

sudo timedatectl set-ntp true

ローカルタイムゾーンを変更します。

sudo dpkg-reconfigure tzdata

このステップでは、「アジア -> 上海」を選択します。

時間が正しいかどうかを確認します。

date

時刻が北京時間に変更されたことがわかります。時刻を設定した後、ソフトウェア ソースを更新する必要があります。最初にソース アドレスを Alibaba Cloud ソースに更新することをお勧めします。

ソースを編集:

sudo nano /etc/apt/sources.list

開いたら、中のコードを # でコメントアウトし、次のコードを追加します。

deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

ここに画像の説明を挿入

sudo nano /etc/apt/sources.list.d/raspi.list

開いたら、中のコードを # でコメントアウトし、次のコードを追加します。

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

ここに画像の説明を挿入

置き換えた後、ソースを更新します。

sudo apt-get update

更新後、インストールされているパッケージを更新します。

sudo apt-get upgrade

インストールプロセス中に「(Y/n)」が表示された場合は、「Y」を選択してください

アップデート後、設定では中国語が表示されるようになりました。

* Raspberry Pi設定中国語表示

まずは中国語フォントをインストールします

sudo apt-get install ttf-wqy-zenhei

インストールプロセス中に「(Y/n)」が表示された場合は、「Y」を選択してください

インストールが完了したら、次のコマンドを実行してローカライズ設定を行います。

sudo raspi-config

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ヒント: スペースバーを押すと前にあるチェックを入れたり外したりすることができ、PageUp PageDown を押すとページを素早くめくることができ、Tab キーを押すとカーソル位置が切り替わります。

ここに画像の説明を挿入

再起動して有効にします

sudo reboot

#Nginx/PHP/SQLite3 をインストールして構成する

Raspberry Pi の性能が比較的弱いことを考慮すると、MySQL などのデータベースを使用すると基本的に毎日ダウンしてしまうため、総合的に考慮するとやはり Nginx + SQLite3 の構成が適しています。もちろん PHP は必須です。

nginx をインストールします。

sudo apt-get install nginx

SQLite3 をインストールします。

sudo apt-get install sqlite3

PHP (PHP7) をインストールします。

sudo apt-get install nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-sqlite php7.0-xml

PHP-APC 最適化をインストールします。

sudo apt-get install php-apc

インストールが完了したら、構成を開始します。

*設定を開始します

Nginx を構成します。

sudo nano /etc/nginx/nginx.conf

開いたら、次の場所を見つけて変更します。

user www-data;
worker_processes 1; #修改这里
pid /var/run/nginx.pid;
events {
worker_connections 64; #修改这里
#multi_accept on;
}

引き続き gzip を後方に検索し、前のコメントを削除して次のように変更します。

gzip on;
gzip_disable “msie6”;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

CTRL+O で保存、CTRL+X で終了(後で保存して終了に直接置き換えられます)

PHP を設定します。

sudo nano /etc/php/7.0/fpm/php.ini

開いたら、次のコードを見つけて変更します。

; Maximum amount of memory a script may consume (128MB)
;http://php.net/memory-limit
memory_limit = 32M #修改这里

保存して終了。

PHP-FPM を構成します。

sudo nano /etc/php/7.0/fpm/php-fpm.conf

コードを見つけて変更します。

; The maximum number of processes FPM will fork. This has been design to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
process.max = 4 #修改这里

保存して終了。

Web サイトの関連構成を構成するには、最初にコピーをバックアップする方が安全です。

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

構成ファイルを変更します。

sudo nano /etc/nginx/sites-available/default

次の内容をその中に入れます。

location / {
    
    
      # First attempt to serve request as file, then
      # as directory, then fall back to displaying a 404.
      try_files $uri $uri/ =404;
        }

と置換する:

location / {
index  index.html index.htm index.php default.html default.htm default.php;
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(\/.*)*$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

保存して終了。

修正が完了したら、PHP が正常に動作するかテストし、すぐに iTunes を入手してください。

sudo nano /var/www/html/index.php

入力内容は以下の通りです。

<?php
      phpinfo();
?>

nginxとPHP7-FPMを再起動します。

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.0-fpm restart

コンピュータのブラウザに Raspberry Pi の IP アドレスを入力して、成功したかどうかを確認します。
次のインターフェイスが成功として表示されます。

ここに画像の説明を挿入

#typecho をインストールします

上記の設定が完了すると、基本的には正常に実行できる環境になりますが、スムーズにインストールするには、フォルダー ディレクトリを認証する必要があります。

sudo chmod 755 /var/www/html -R

認証後、最新のインストールパッケージをダウンロードして解凍し、ディレクトリに移動します。

cd /var/www/html
sudo wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
tar zxvf 1.1-17.10.30-release.tar.gz
mv build/* /var/www/html

*ご自身のブログのアドレスにアクセスしてください:

Raspberry Pi の IP アドレスをコンピュータのブラウザに直接入力します。

次のインターフェイスが表示されます

ここに画像の説明を挿入

「次へ」をクリックします。

ここに画像の説明を挿入

実際の状況に応じて変更し、完了後にクリックしてインストールを開始します。

表示される場合:

ここに画像の説明を挿入

次のコードを使用して、新しいデータベース ファイルを手動で作成できます。

sqlite3 blog.db
create table test(test text);

ここに画像の説明を挿入

CTRL+Z を押して終了し
、ブラウザで「次へ」をクリックして成功します。

ブラウザに Raspberry Pi の IP アドレスを入力します:
例: 192.168.137.222/admin でバックグラウンドに入ります。
このようなインターフェイスが表示されたら、成功したことを意味します。

ここに画像の説明を挿入

最初の記事を書き始めます。

転載は元のアドレスを明記してください

おすすめ

転載: blog.csdn.net/qq_39125451/article/details/84898288