PHPサーバ環境の構築
group_5622_0
この2,3日前の技術文書をめくってみると、PHPプロジェクトを導入するために、新しいアリクラウドサーバをどのように構築するか、環境を構築するかを共有する価値があることがわかりました.jsプロジェクトなど.
始めましょう.
1.Dockerを利用してCentosサーバ2を作成する.インストールNginx 3.PHP 74を取り付ける.composer 5をインストールします.インストールNode.js6. gitとsvnのインストール
DockerによるCentosサーバの作成
私自身はアリクラウドサーバーを持っていないので、実際のサーバーに環境を構築することはできません.しかし、Dockerを利用してシミュレーションすることができます.
まず、システムを統合したCentosミラーが必要です.
Dockerfileの内容は次のとおりです.
コンテナを起動できますが、ここでは「Dockerを実行してsystemctlを使用してエラーを報告する」という問題を回避します.解決策は、/sys/fs/cgroupディレクトリをコンテナの/sys/fs/cgroupディレクトリにマウントし、読み取り専用権限を構成することですが、docker runコマンドは-dパラメータしか使用できません.-itパラメータは使用できません.-itパラメータを使用すると、まだ詰まってしまいます.
参考:github.com/docker-libr…
コンテナの実行:
vimを実行してファイルを編集しようとすると、vimはインストールされていないことがわかりました.この場合、コンテナに直接インストールできますが、シミュレーションをより徹底的に行うために、Dockerfileファイルを変更して、ミラーバンドにvimを付けることができます.
ミラーを作成し、コンテナを生成し、コンテナを実行し、vimが正常にインストールされたかどうかを確認し、直接図を見ます.
インストールツール
「centosサーバー」ができて、PHP(Laravel/Lumen)環境の配置を始めました.
インストールNginx
Nginxをインストールする前にyumソースミラーを変更する必要があります.アリクラウドを使用しています.
まずwgetをインストールします.
PHP 7の取り付け
ソースを追加:
インストール:
一般的に使用するphpプラグインをインストールします.
composerのインストール
ComposerはPHPの依存管理ツールです.プロジェクトが依存しているコードライブラリを明らかにすることができます.プロジェクトにインストールされます.Composerはパッケージマネージャではありません.はい、「packages」と「libraries」に関連していますが、プロジェクトごとに管理され、vendorなどのディレクトリにインストールされます.デフォルトではグローバルに何もインストールされません.そのため、これは管理に依存しています.
この考えは新鮮ではなく、Componenterはnode's npmとruby's bundlerの強い啓発を受けた.当時PHPの下には似たような道具はなかった.
Composerはこのようにして問題を解決します.
a)いくつかのライブラリに依存するプロジェクトがあります.
b)一部のライブラリは他のライブラリに依存する.
c)あなたが依存していることを宣言します.
d)Composerはどのバージョンのパッケージをインストールする必要があるかを見つけて、それらをインストールします(それらをあなたのプロジェクトにダウンロードします).参考:docs.phpcomposer.com/00-intro.ht...
1.phpコマンドでインストール
詳細:getcomposer.org/download/
2.Packagist/Composerを使用した中国フルミラーリング加速
composerのグローバルプロファイルの変更(推奨方法)
詳細:pkg.phpcomposer.com/
3.パラレルcomposer install、ダウンロードを神助のようにする
4.リアルタイム更新
ヒント:composer selfupdateを常に実行してComponentが最新バージョンであることを忘れないでください.
インストールNode.js
国内ミラーのインストール:
nをインストールしてnodejsバージョン//既存のサーババージョンと一貫性を保つ
最新のstable版をインストールします.
または、
gitとsvnのインストール
テスト
基礎的なツールと環境ができました.では、効果を試して、Lumenプロジェクトをインストールしてみましょう.
nginxを構成します./etc/nginx/conf.d/パスでblogを作成する.conf
php-fpmを起動し、curlコマンドを使用してアクセスしてみます.
正常に印刷できます:Lumen(5.5.0)(Laravel Components 5.5.*)は、nginxとphp-fpmが起動し、構成に成功したことを示しています.
まとめ
新しいことはよく知られているが,本稿ではdockerシミュレーションCentosサーバを簡単に学習することによって環境を構成し続ける.
アリクラウドサーバーまたはテンセントクラウドサーバーがあり、Centos 7システムである場合は、上記の手順に従って、必要なツールをインストールし、通常のPHPまたはNodeを配置します.jsプロジェクトはあまり問題ないはずです.次に、通常の運用ツールと防護ツールを導入できます.
以下に、いくつかの問題点と知識点を列挙します.
1.centos 7 dockerコンテナレポートdocker Failed to get D-Bus connectionエラー
このエラーの原因はdbus-daemonが起動できなかったことです.システムctlが使えないわけではありません.CMDまたはentrypointを/usr/sbin/initに設定すればよい.dockerコンテナはdbusなどのサービスを自動的に起動します.次のようになります.
2.報Error:xz compression not availableの解決方法
3.FastCgiとphp-fpmの関係は?
この投稿を詳しく参照してください:segmentfault.com/q/101000000…
「完」
coding 01ご注目をお待ちしております
qrcode
ご覧いただきありがとうございます
qrcode
この2,3日前の技術文書をめくってみると、PHPプロジェクトを導入するために、新しいアリクラウドサーバをどのように構築するか、環境を構築するかを共有する価値があることがわかりました.jsプロジェクトなど.
始めましょう.
1.Dockerを利用してCentosサーバ2を作成する.インストールNginx 3.PHP 74を取り付ける.composer 5をインストールします.インストールNode.js6. gitとsvnのインストール
DockerによるCentosサーバの作成
私自身はアリクラウドサーバーを持っていないので、実際のサーバーに環境を構築することはできません.しかし、Dockerを利用してシミュレーションすることができます.
まず、システムを統合したCentosミラーが必要です.
Dockerfileの内容は次のとおりです.
FROM daocloud.io/centos:7
MAINTAINER "yemeishu"
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
コンテナを起動できますが、ここでは「Dockerを実行してsystemctlを使用してエラーを報告する」という問題を回避します.解決策は、/sys/fs/cgroupディレクトリをコンテナの/sys/fs/cgroupディレクトリにマウントし、読み取り専用権限を構成することですが、docker runコマンドは-dパラメータしか使用できません.-itパラメータは使用できません.-itパラメータを使用すると、まだ詰まってしまいます.
docker run -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro local/centos7-systemd
参考:github.com/docker-libr…
コンテナの実行:
vimを実行してファイルを編集しようとすると、vimはインストールされていないことがわかりました.この場合、コンテナに直接インストールできますが、シミュレーションをより徹底的に行うために、Dockerfileファイルを変更して、ミラーバンドにvimを付けることができます.
FROM daocloud.io/centos:7
MAINTAINER "yemeishu"
ENV container docker
RUN yum -y install vim-enhanced
RUN yum -y install vim*
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
ミラーを作成し、コンテナを生成し、コンテナを実行し、vimが正常にインストールされたかどうかを確認し、直接図を見ます.
インストールツール
「centosサーバー」ができて、PHP(Laravel/Lumen)環境の配置を始めました.
インストールNginx
Nginxをインストールする前にyumソースミラーを変更する必要があります.アリクラウドを使用しています.
まずwgetをインストールします.
yum install wget -y
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum -y install epel-release
yum install nginx -y
systemctl start nginx
systemctl enable nginx //
PHP 7の取り付け
ソースを追加:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
インストール:
yum install php70w -y
一般的に使用するphpプラグインをインストールします.
yum install php70w-json php70w-xml php70w-mbstring php70w-mysqlnd php70w-fpm -y
composerのインストール
ComposerはPHPの依存管理ツールです.プロジェクトが依存しているコードライブラリを明らかにすることができます.プロジェクトにインストールされます.Composerはパッケージマネージャではありません.はい、「packages」と「libraries」に関連していますが、プロジェクトごとに管理され、vendorなどのディレクトリにインストールされます.デフォルトではグローバルに何もインストールされません.そのため、これは管理に依存しています.
この考えは新鮮ではなく、Componenterはnode's npmとruby's bundlerの強い啓発を受けた.当時PHPの下には似たような道具はなかった.
Composerはこのようにして問題を解決します.
a)いくつかのライブラリに依存するプロジェクトがあります.
b)一部のライブラリは他のライブラリに依存する.
c)あなたが依存していることを宣言します.
d)Composerはどのバージョンのパッケージをインストールする必要があるかを見つけて、それらをインストールします(それらをあなたのプロジェクトにダウンロードします).参考:docs.phpcomposer.com/00-intro.ht...
1.phpコマンドでインストール
# - composer-setup.php - 。
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
# 。
php composer-setup.php
# 。
php -r "unlink('composer-setup.php');"
# composer.phar /usr/local/bin/
mv composer.phar /usr/local/bin/composer
詳細:getcomposer.org/download/
2.Packagist/Composerを使用した中国フルミラーリング加速
composerのグローバルプロファイルの変更(推奨方法)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
詳細:pkg.phpcomposer.com/
3.パラレルcomposer install、ダウンロードを神助のようにする
composer global require hirak/prestissimo
4.リアルタイム更新
ヒント:composer selfupdateを常に実行してComponentが最新バージョンであることを忘れないでください.
インストールNode.js
yum -y install nodejs npm --enablerepo=epel
国内ミラーのインストール:
npm install -g cnpm --registry=https://registry.npm.taobao.org
nをインストールしてnodejsバージョン//既存のサーババージョンと一貫性を保つ
cnpm install -g n
最新のstable版をインストールします.
n stable
または、
n 0.8.20
などの指定バージョンのインストールgitとsvnのインストール
yum -y install git
yum -y install subversion
テスト
基礎的なツールと環境ができました.では、効果を試して、Lumenプロジェクトをインストールしてみましょう.
nginxを構成します./etc/nginx/conf.d/パスでblogを作成する.conf
server {
listen 80;
server_name blog.xxx.com;
#index index.php index.html;
location / {
root /www/html/blog/public;
try_files $uri $uri/ /index.php?$query_string;
index index.php index.html index.htm;
}
location ~ \.php$ {
#try_files $uri = 404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/html/blog/public$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
}
php-fpmを起動し、curlコマンドを使用してアクセスしてみます.
正常に印刷できます:Lumen(5.5.0)(Laravel Components 5.5.*)は、nginxとphp-fpmが起動し、構成に成功したことを示しています.
まとめ
新しいことはよく知られているが,本稿ではdockerシミュレーションCentosサーバを簡単に学習することによって環境を構成し続ける.
アリクラウドサーバーまたはテンセントクラウドサーバーがあり、Centos 7システムである場合は、上記の手順に従って、必要なツールをインストールし、通常のPHPまたはNodeを配置します.jsプロジェクトはあまり問題ないはずです.次に、通常の運用ツールと防護ツールを導入できます.
以下に、いくつかの問題点と知識点を列挙します.
1.centos 7 dockerコンテナレポートdocker Failed to get D-Bus connectionエラー
このエラーの原因はdbus-daemonが起動できなかったことです.システムctlが使えないわけではありません.CMDまたはentrypointを/usr/sbin/initに設定すればよい.dockerコンテナはdbusなどのサービスを自動的に起動します.次のようになります.
docker run --privileged -ti --name test docker.io/centos:7 /usr/sbin/init
2.報Error:xz compression not availableの解決方法
yum remove epel-release
# Sometimes that is not enough, you need to remove the cache as well by:
rm -rf /var/cache/yum/x86_64/6/epel
# Then you can install the epel-release again
yum -y install epel-release
# yum clean all is doing great for cleaning the cache
3.FastCgiとphp-fpmの関係は?
この投稿を詳しく参照してください:segmentfault.com/q/101000000…
「完」
coding 01ご注目をお待ちしております
qrcode
ご覧いただきありがとうございます
qrcode