Ubuntu 16.04 下安装部署 Laravel 网站(基础)

1,287 阅读1分钟

假设服务器地址是:192.168.1.225。

环境要求:

  • 系统:Ubuntu 16.04 LTS
  • PHP: >= 7.0
  • Nginx: >= 1.10.3
  • MySQL: >= 5.7

下面开始安装这些环境。

安装 Nginx

$ sudo apt install nginx

查看是否开启:

$ sudo systemctl status nginx

Active: active (running) since Mon 2018-01-08 18:43:12 PST; 5min ago

此时访问地址 http://192.168.1.225/ 就能看到 Nginx 的欢迎界面,表示 Nginx 安装成功。

Nginx 默认 Web 目录在 /var/www/html;配置文件在 /etc/nginx 目录下。

安装 PHP

$ sudo apt install php7.0

检查是否正确输出版本号:

$ php -v

PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )

安装依赖包:

$ sudo apt install php7.0-fpm php7.0-cli php7.0-common php7.0-mbstring php7.0-gd php7.0-intl php7.0-xml php7.0-mysql php7.0-mcrypt php7.0-zip

查看所有已安装依赖包:

$ php -m

安装 Composer

Composer 是 PHP 包管理工具。在安装之前,先下载 curl

$ sudo apt install curl

然后,安装 Composer。

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

现在即可使用全局命令 composer 了。

$ composer

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.6.2 2018-01-05 15:28:41

安装 MySQL

$ sudo apt install mysql-server

安装过程中为 root 用户设置密码,按下回车键,即可完成安装。

连接 MySQL:

$ mysql -uroot -p
Enter password:

Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)

mysql> 

部署网站

下面介绍运维平台部署流程。

下载辅助工具 rz

$ sudo apt install lrzsz
$ sudo apt install unzip

将本地项目上传到服务器:

$ rz

将项目解压到 website 目录。

$ sudo unzip website.zip -d website

还原数据库

$ sudo mysql -u root -p < website/website.sql 

移动项目到 /var/www/website

$ sudo mv yunwei /var/www/website

进入项目,给予一些文件权限:

$ cd /var/www/website
$ sudo chmod -R 777 storage
$ sudo chmod -R 777 bootstrap/cache

安装项目依赖和初始化配置:

$ sudo cp .env.example .env
$ sudo composer install
$ sudo php artisan key:generate
$ sudo php artisan storage:link

修改 .env 里数据库连接信息。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your-database
DB_USERNAME=your-username
DB_PASSWORD=your-password

添加网站

编辑 Nginx 配置文件:

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

将我们的网站挂载到 8080 端口

server {
        listen 8080;
        listen [::]:8080;

        root /var/www/website/public;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;

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

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
               include snippets/fastcgi-php.conf;

               # With php7.0-fpm:
               fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
}

重启 Nginx 服务器:

$ sudo systemctl restart nginx

至此,网站部署完毕!

访问 192.168.1.225:8080 即可看到网站了。