Ubuntu 20LTS 安装部署Nginx+php8+Mysql教程运行Laravel

豌豆786 次浏览0个评论2021年11月03日

首先如果您使用阿里云,一定要在安全组开放域名,否则无法访问。首先我们更新一下源列表

sudo apt-get update

一、安装配置Nginx

使用apt命令安装nginx,我安装了nginx version: nginx/1.18.0 (Ubuntu)版本;这个什么版本没关系。

sudo apt-get install nginx
1、启动Nginx

安装成功,我们启动nginx,然后我们访问公网IP地址,就可以访问到nginx欢迎页面

sudo service nginx start

Nginx欢迎页面

二、安装配置Mariadb

MariaDB是Mysql的升级版,性能有明显的提高,我们这里安装了mariadb-server-10.3

apt-get install mariadb-server
1、配置maridb允许远程访问
# 登录mysql
mysql -uroot -p

# 如果登陆失败则可以设置密码
# sudo mysql_secure_installation

# 设置root账号的密码,建议弄复杂一点比较安全
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('d4fals87s34GB98s');

# 切换数据库
use mysql;
# 让我们的mysql允许远程访问
grant all privileges on *.* to root@"%" identified by "d4fals87s34GB98s" with grant option;

# 刷新一下数据库配置
flush privileges;
2、允许远程访问Mysql
root@node:~# vim /etc/mysql/mariadb.conf.d/50-server.cnf

# 找到如下代码,前面加#注释或者更改
# bind-address = 127.0.0.1  #禁用127.0.0.1允许远程链接
bind-address = 0.0.0.0

# 允许所有IP访问,你可以允许多个IP访问格式为:127.0.0.1 1.8.8.8

# 开启log-bin方便数据误操作恢复[mysqld]下
log-bin=mysql-bin
3、重启Mysql让配置生效
sudo service mysql restart 

三、安装配置Php8

阿里云Ubuntu 20 LTS才有Php8;没有的升级一下服务器。

apt install software-properties-common
# 添加php源地址
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update

其实我们使用sudo apt search php8可以看到已经有php8.1版本了;但是我们安装php8.0稳定版以及一些常用必备php插件!

apt-get install php8.0 php8.0-fpm php8.0-mysql php8.0-gd php8.0-mbstring php8.0-bcmath php8.0-xml php8.0-curl php8.0-redis php8.0-opcache php8.0-odbc

执行php -v查看当前版本:

root@ddddd:~# php -v
PHP 8.0.12 (cli) (built: Oct 22 2021 12:34:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.12, Copyright (c), by Zend Technologies

四. 配置nginx支持允许Laravel项目

Laravel需要进行路由重写,我们配置一下即可;我们在/var/www下创建laravel项目,

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

配置支持Laravel

server {
        listen 80;
        root /var/www/laravel/public; #项目文件
        index index.php index.html index.htm;
        server_name a.com; #域名
        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/php/php8.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
        location ~ /\.ht {
                deny all;
        }
}

接下来我们重启一下nginx让配置生效

sudo service nginx restart

更多相关好文