ホームページ  >  記事  >  バックエンド開発  >  Laravelをクラウドサーバーにデプロイするチュートリアルの例

Laravelをクラウドサーバーにデプロイするチュートリアルの例

零下一度
零下一度オリジナル
2017-07-02 11:28:122006ブラウズ

この記事は主にクラウドサーバーにLaravelをデプロイする方法を詳しく紹介しています。興味のある友人はそれを参照してください

私はしばらくPHPとLaravelを学習していましたが、すべてのコードが実行されていました。ローカルの 仮想ホスト だったので、Tencent Cloud に行って 1 か月間無料のクラウド ホストを申請し、プロジェクトをクラウド サーバーにデプロイしたいと思いました。

ここには落とし穴がかなりたくさんあるので、初めてサーバーに触れる初心者の私は混乱してしまうと言わざるを得ません。サーバーを設定した後、Laravel プロジェクトをデプロイするのはさらに手間がかかるため、Laravel プロジェクトをデプロイするプロセスを記録したいと思いました。

追記: Linux は本当に使えば使うほど楽しくなるシステムです。家に帰っても、デスクトップ コンピューターに Linux をインストールしてコードを入力する必要があります。

環境の紹介

オペレーティング システムの選択に関して、私は Linux ubuntu16.04 システムを選択し、Linux + Nginx + Mysql + PHP 環境である LNMP 環境を使用しました。

Apacheを削除します

sudo service apache2 stop
update-rc.d -f apache2 remove
sudo apt-get remove apache2

まず、これらの3つのコマンドを使用してApacehを削除し、次にパッケージリストを更新します

sudo apt-get update

1. Nginxをインストールします

sudo apt-get install nginx

Nginxをインストールした後、nginxを再起動します

sudo service nginx start

実行後、publicに入りますブラウザのクラウド サーバーによって IP が割り当てられ、nginx インターフェイスへようこそ

2 が表示されます。Mysql

sudo apt-get install mysql-server mysql-client

のインストール中に、通常と同じように、Mysql パスワードを設定するように求められます。パスワード 設定は同じです。1 回入力し、1 回確認します。パスワードの確認後、基本的にインストールには時間がかかります。試してみてください

mysql -u root -p

ログインに成功した場合、Mysql は正しくインストールされています。

3. PHPをインストールする

sudo apt-get install php5-fpm php5-cli php5-mcrypt

php5-fpm経由のみ、Nginx上でPHPが正常に動作するのでインストールします。

php5-mcrypt については、Laravel などの一部の PHP フレームワーク がこれに依存するため、これもインストールされます。

話は逸れますが、ここでの php5 については、デプロイ中に php7 を自分でインストールしました。試してみたい場合は、それを試すこともできます。

4. PHP を設定します

sudo vim /etc/php5/fpm/php.ini

PHP設定ファイルを開き、その前にあるコメントのセミコロンを削除し、その値を 0 に設定します

cgi.fix_pathinfo=0
;

5. php5-mcrypt:

sudo php5enmod mcrypt

を有効にします6. php5-fpm:

sudo service php5-fpm restart

LEMP環境を設定した後、最初に2つの重要なディレクトリを明確にする必要があります

Nginxのデフォルトのルートフォルダー

/usr/share/nginx/html/usr/share/nginx/html

Nginx的服务器配置文件所在目录

/etc/nginx/sites-available/

上面两个目录记住就好,很常用,先摆出来

下面一步一步在云服务器上部署Laravel

1.创建网站的根目录

sudo mkdir -p /var/www

2.配置nginx服务器

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

打开nginx的配置文件之后,找到server这一块,大概是长这个样子的

server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;

  root /usr/share/nginx/html;
  index index.html index.htm;

  server_name localhost;

  location / {
    try_files $uri $uri/ =404;
  }
}

其中root,index ,server_name和location这几行需要稍微修改一下

root修改

root /var/www/laravel/public;

这里就是将nginx服务器的根目录指向Laravel的public文件夹下,后续的Laravel项目的代码我们会放在我们之前创建的/var/www/laravel目录下

index修改

index index.php index.html index.htm;

这里需要注意的是,将index.php排在最前面

server_name修改

server_name server_domain_or_IP;

将server_domain_or_IP修改为你的公网IP

location修改

location / {
  try_files $uri $uri/ /index.php?$query_string;
}

修改完是这样的:

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www/laravel/public;
 index index.php index.html index.htm;

 server_name server_domain_or_IP;

 location / {
   try_files $uri $uri/ /index.php?$query_string;
 }
}

最后我们还需要配置一下Nginx,让其执行PHP文件。同样是在这个文件里,在location下方添加下面的配置:

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www/laravel/public;
 index index.php index.html index.htm;

 server_name server_domain_or_IP;

 location / {
  try_files $uri $uri/ /index.php?$query_string;
 }

 location ~ \.php$ {
  try_files $uri /index.php =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }
}

注意,最下面的location ~ .php$

Nginx のサーバー設定ファイルが配置されているディレクトリ

/etc/nginx/sites-available/

覚えておいてください上記の 2 つのディレクトリで大丈夫です。非常に一般的に使用されているので、最初に説明しましょう

以下は、クラウド サーバー上での Laravel の段階的なデプロイです

1. ウェブサイトのルートディレクトリを作成します

sudo service nginx restart

2. nginx サーバーを設定します

cd ~
curl -sS getcomposer.org/installer | php

nginx 設定ファイルを開いたら、次のようなサーバーセクションを見つけます

sudo mv composer.phar /usr/local/bin/composer
root、index、server_name、locationの行を少し変更する必要があります

ルートの変更

sudo composer create-project laravel/laravel laravel

ここで、nginxサーバーのルートディレクトリをLaravelのパブリックフォルダーに指定します。前に作成した /var/www/laravel ディレクトリ

index の変更

scp -r laravel root@your_IP:

ここで注意する必要があるのは、index.php を先頭に置くことです


server_name の変更🎜🎜
sudo mv laravel/ /var/www
🎜server_domain_or_IP をパブリック IP に変更します🎜🎜🎜場所の変更🎜🎜
sudo apt-get install git
🎜 変更は次のようになります: 🎜
git clone your-project-git-link
🎜最後に、PHP ファイルを実行するように Nginx を設定する必要があります。また、このファイルの location の下に次の設定を追加します: 🎜rrreee🎜 一番下の location ~ .php$ は自分で追加したものであることに注意してください: 🎜🎜 設定が完了したら、Nginx を再起動して上記を使用します設定項目が有効になります。 🎜rrreee🎜🎜3. Laravel プロジェクトを作成します🎜🎜🎜nginx を設定した後、🎜Laravel🎜 プロジェクト コードを取得するにはどうすればよいですか?いくつかの方法があります: 🎜🎜 (1). Composer を直接インストールする 🎜🎜 サーバー上で 🎜rrreee🎜 を実行すると、グローバルに使用するために Composer 🎜🎜composer がインストールされます: 🎜rrreee🎜 。 var/www ディレクトリで直接実行します🎜rrreee🎜 /var/www ディレクトリを作成したので、直接 cd /var/www してから上記のコマンドを実行できます。その後、インストールが完了するまで待ちます。 🎜🎜🎜(2). コードを直接アップロードします🎜🎜🎜次のコマンドを使用してアップロードします🎜rrreee🎜その後、laravelをサーバー上の/var/wwwディレクトリに移動します🎜rrreee🎜🎜(3). Gitとコーディングプラットフォームを使用します🎜 🎜🎜 個人的には、コードを簡単に更新してロールバックできる git を使用することを好みます。バージョンが更新されてバグが発生すると、Git の強力なバージョン管理機能を使用してバグを修正できます。プロセスは大まかに次のようになります: 🎜🎜ローカルコード---->Github---->クラウドサーバー🎜🎜

既然要使用git,那么先在云服务器上安装git:

sudo apt-get install git

安装完成就可以使用git了,然后在Github上创建一个私有项目laravel,里面包含所有该Laravel项目所需代码。

一旦本地代码都推送到Coding,然后在/var/www目录下直接使用

git clone your-project-git-link

your-project-git-link替换为你Github上的laravel项目地址

5.BINGO

在浏览器输入:server_domain_or_IP

至此,你可以在服务器上随意地用Laravel了,keep coding!

以上がLaravelをクラウドサーバーにデプロイするチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。