如何使用Nginx和MariaDB在Ubuntu 20.04上安装Laravel 7

主机排名
2020-08-10 / 1 评论 / 255 阅读 / 正在检测是否收录...

介绍

​ Laravel是PHP创建Web应用程序的框架。本指南介绍了如何在新部署的Ubuntu 20.04 LTS服务器实例上安装Laravel。

要求

  • 一个完全更新,至少有1个vCPU和2 GB RAM的Ubuntu 20.04服务器实例
  • 阿非根须藤用户

1.安装先决条件

1.安装软件依赖项。

$ sudo apt install -y php-mbstring php-xml php-fpm php-zip php-common php-fpm php-cli unzip curl nginx

2.安装Composer:

$ sudo curl -s https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

3.验证Composer安装。

$ composer diagnose
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.10.10
PHP version: 7.4.3
PHP binary path: /usr/bin/php7.4
OpenSSL version: OpenSSL 1.1.1f  31 Mar 2020

4.安装MariaDB。

$ sudo apt install -y mariadb-client mariadb-server

5.启动MariaDB。

$ sudo systemctl enable --now mariadb.service

6.对于新安装的MariaDB服务器,root密码为空白。通过为您的服务器适当回答以下问题来配置MariaDB安全性。

$ sudo mysql_secure_installation

2.安装Laravel

1.制作一个项目文件夹。将示例替换为您的项目名称,该名称将出现在本指南中。

2.使用Composer创建一个Laravel项目。您可以忽略此步骤,不要以root身份运行Composer的警告。有关详细信息,请参见Composer文档。

$ cd /var/www/html
$ sudo composer global require laravel/installer
$ sudo composer create-project --prefer-dist laravel/laravel example

3.授予您的非root用户访问权限。

$ sudo chmod -R 755 /var/www/html/example
$ sudo chown -R example_user:example_user /var/www/html/example

4.安装示例项目。

$ cd example
$ composer install

5.在/ var / www / html / example文件夹中手动测试Laravel应用程序。用服务器的IP替换示例IP地址。

$ cd /var/www/html/example
$ php artisan serve --host=192.0.2.123 --port=8000

要访问此示例:

http://192.0.2.123:8000

在您的SSH会话中键入CTRL+ C以停止Laravel应用程序。

3.配置Nginx

对于公共/生产用途,请配置Nginx。

1.设置文件权限。将示例替换为您的Laravel项目名称。

$ sudo chmod -R 755 /var/www/html/example
$ sudo chown -R www-data:www-data /var/www/html/example

2.创建一个Nginx配置文件。

$ sudo nano /etc/nginx/sites-available/example

3.将以下内容粘贴到示例配置文件中。

  • server_name example.com;用您的域或服务器IP地址替换。您还可以使用下划线作为通配符,例如:servername ;
  • 替换/var/www/html/example/public为您的项目路径。

如果您安装了其他版本的PHP,请为您的版本编辑/var/run/php/php7.4-fpm.sock值。您可以在/ var / run / php /中找到您的袜子文件。

server {
    listen 80;
    server_name example.com;
    root /var/www/html/example/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

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

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

4.启用Nginx配置。

$ sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/

5.删除默认配置文件。

$ sudo rm /etc/nginx/sites-enabled/default

6.重新启动Nginx。

$ sudo systemctl restart nginx

7.测试您的Laravel应用程序是否已在Web浏览器中正确加载。

http://example.com/

4.配置MariaDB

1.以root用户身份登录MariaDB。

# mysql -p -u root

2.创建一个名为laravelexample的数据库。

MariaDB [(none)]> CREATE DATABASE `laravelexample` CHARACTER SET utf8 COLLATE utf8_general_ci;

3.创建一个数据库用户。

MariaDB [(none)]> CREATE USER 'laravelexampleuser'@'%' IDENTIFIED BY 'password';

4.授予权限。

MariaDB [(none)]> use laravelexample;
MariaDB [laravelexample]> GRANT ALL ON `laravelexample.*` TO 'laravelexampleuser'@'%';
MariaDB [laravelexample]> FLUSH PRIVILEGES;
MariaDB [laravelexample]> EXIT;

5.编辑Laravel应用程序.env文件。

$ sudo nano /var/www/html/example/.env

设置数据库连接变量。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravelexample
DB_USERNAME=laravelexampleuser
DB_PASSWORD=password

6.保存并退出文件。

0

评论 (1)

取消
  1. 头像
    Laravel
    Windows 10 · Google Chrome

    很详细的教程,对我这个php程序员初学者很有帮助。

    回复