VPS教程
如何使用Nginx和MariaDB在Ubuntu 20.04上安装Laravel 7
介绍
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地址替换。您还可以使用下划线作为通配符,例如:server_name _;
- 替换/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.保存并退出文件。