GCE VMインスタンス Cent OS7 nginx Laravel SQL 接続 


## VMインスタンス 作成
GCPにログイン
https://console.cloud.google.com/

インスタンスを作成をクリック
![スクリーンショット 2022-10-23 22.48.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/03b11d53-7d17-aad4-39cd-69185a69bd98.png)

名前 リージョン ゾーンを設定。
マシンの構成 シリーズ E2 マシンタイプ e2-smallを選択。

![スクリーンショット 2022-10-23 22.49.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/174f2bc5-395c-8d39-8a8d-2875a747b217.png)

ブートディスクで、CentOSを選択 -> 選択 -> 保存

![スクリーンショット 2022-10-23 22.50.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/b1dc6151-9d1e-9070-110f-f5c7e523415b.png)

### VMインスタンスのIPアドレスを静的に変更

その他の操作から、「ネットワークの詳細表示」を選択

![スクリーンショット 2022-10-24 9.22.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/4cf38d1f-f5ca-84fd-b9f4-bdc9dbf0d0e3.png)

IPアドレスを選択 対象
![スクリーンショット 2022-10-24 9.29.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/2ce5ecda-ba2a-34df-361c-d65654f067b4.png)

対象インスタンス 予約を選択
![スクリーンショット 2022-10-31 13.11.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/b6ee100b-cca6-892d-7d1c-8b513bfec2bc.png)

任意の名前にし、予約を選択

![スクリーンショット 2022-10-31 13.11.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/5bec129c-a9df-3741-d130-db1c3cb45d0c.png)


VMインスタンス選択に戻り、SSHをクリック。
下記のような画面になるので、設定を行なっていく。

![スクリーンショット 2022-10-31 13.18.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/22d7c9f9-f654-1676-d819-dcd8131b3da0.png)



yumをupdate
```
 $sudo yum update
```
yum パッケージをインストール
```
$sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
```
リポジトリを初期化
```
$sudo yum clean all
```
リポジトリを読み込む
```
$sudo yum repolist all
```
## nginx インストール
```
$sudo yum install nginx
```
nginx インストール確認

```
$nginx -v
```
```
$sudo systemctl start nginx
```

```
$sudo systemctl status nginx
```

## PHP インストール

```
$ sudo yum install epel-release
```

```
$ sudo yum update
```

```
$ sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
```

```
$ sudo yum -y install --enablerepo=epel,remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
```

## php-fpm インストール
```
$sudo yum -y install php-fpm
```

php-fpm設定を変更
```
$sudo vi /etc/php-fpm.d/www.conf
```
下記のように変更
```tex:/etc/php-fpm.d/www.conf
user = nginx
group = nginx

listen = /var/run/php-fpm/php-fpm.sock
```

## nginxの設定を変更
```
$sudo vi /etc/nginx/conf.d/default.conf
```
```tex:/etc/nginx/conf.d/default.conf
server{

   root   /var/www/[プロジェクトネーム]/public;

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

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock; //php-fpmのlisten
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  
        $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

}
```

nginx、php-fmp 再起動後、Laravelプロジェクトが表示される。

## SQL インスタンス作成

インスタンスを作成をクリック
![スクリーンショット 2022-10-31 14.30.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/40a0e05a-cb3f-e403-8c03-a7c7949c50d0.png)
Mysqlを選択
![スクリーンショット 2022-10-31 14.30.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/3392b483-a494-9bf3-7edf-5425cd4cee42.png)

インスタンスID PWを設定(PWは再度確認出来ないので、控えておく)
![スクリーンショット 2022-10-31 14.37.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/165dfc91-7fd7-c328-5984-167573a004be.png)


### VMインスタンスをSQLを接続する
SQL -> 接続 -> ネットワーキング ->プライベートIPを選択
ネットーワークで、VPCを選択
![スクリーンショット 2022-10-31 14.38.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/c2899932-53ed-0b2d-9e33-bf658889d3dd.png)

ネットワークを追加をクリックし、ネットワークに作成したVMインスタンスのIPアドレスを入力

![スクリーンショット 2022-10-31 14.42.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2107549/07e6203e-b243-e2ae-9fec-8ef23cdc2d6c.png)

### laravel側の設定

```text:.env
   DB_CONNECTION=mysql
   DB_HOST=「SQLホストプライベートIP」
   DB_DATABASE=「SQLデータベース名」
   DB_USERNAME=「SQLユーザーネーム」
   DB_PASSWORD=「SQLのPW」
```