Ubuntu PHP Nginx composer laravel 安装详解
一. 序言
疯掉了, 闲话少说.
根据之前的随笔, 直接用apt install 安装的PHP, Nginx 是现成的, 当然PHP 也有源码安装, 但是一些扩展安装起来很是麻烦, 索然安装上了, 但是就是不显示...
所以到后来, 还是用一键式安装的吧. 强迫症的稳稳, 忍忍.
这是PHP 源码安装的网址, 可以尝试一下.
http://php.net/manual/zh/install.unix.nginx.php
二. 安装需求
PHP, Nginx, composer
1. 前面两个我们已经安装完成, 只需要根据之后开启些PHP 扩展了.
2. 安装composer
// 注意
// 你可以这样安装, 但是, 这样安装会有好多依赖包出来. 不知道你喜不喜欢简单.
sudo apt install composer
// 我用的是官网上的安装方式
https://getcomposer.org/download/
找个文件夹, 照着这四个步骤来, 这就会生成一个composer.phar 在当下.(往下看, 继续)
--------------------------------------------------------------------------------------------------------------------------------------------+
Tip: 注意, 在官网上的安装会遇到的问题. 因为他用php 语句进行, 所以需要开启mbstring 等其他扩展.
这里就要注意了!!!
a. 若用之前的一键式安装的php, 开启扩展的方法为: 它提示你需要什么扩展, 那我们就安装什么扩展,
比如说缺少mbstring, 那就这样
sudo apt install php7.1-mbstring
// 因为我们的是php7.1, 所以这样安装, - 后面跟的就是扩展的名字, 屡试不爽. 但是, 开启openssl 扩展等一些, 好像不是这么安装的
// 安装openssl 扩展
sudo apt-get install openssl
sudo apt-get install libcurl4-openssl-dev
或者先
sudo apt-get install libssl-dev
再安装openssl.
// 安装libxml
sudo apt-get install libxml2-dev
...
b. 若使用源码安装, 那么就得用其提供的工具安装了
给你个官网...
http://php.net/manual/zh/install.pecl.phpize.php
扩展都在tar 包里, 找找. 然后...
--------------------------------------------------------------------------------------------------------------------------------------------+
问题说完, 开始安装.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
运行下面这命令, 就会出现经典画面.
php composer.phar -v
但这不是我们想要的. 我们想要把它加在全局环境变量里. 所以需要下面这段命令, 把composer.phar 放入/usr/bin 下
mv composer.phar /usr/bin/composer
意思是放进去, 并且命名为composer, 以后就在哪都可以直接composer -v 了.
三. 安装laravel
laravel 官网介绍如此
Tip: composer 现在可能还是用的外网, 所以更改一下, 换成中国的资源, 下载速度会快些.
composer config -g repo.packagist composer https://packagist.laravel-china.org
官网是这样说的,
1. 第一个标题下:
通过Laravel安装程序
composer global require "laravel/installer"
选一个文件夹, 在里面安装, 我直接安装在我的主目录下.
Tip: 先同样说问题, 安装过程中, 有些许问题.
a. 有一种问题就是权限不足, 所以要把comoser 所在文件夹目录更改权限,
composer 目录在你的主目录下, /home/你起的用户名字/.composer, /home/你的名字 也可以用~ 代替.
sudo chmod -R 777 ~/.composer
这样就可以写入composer.json, composer.lock 文件内容了.
b. 他会说各种缺少扩展, 就像上面所说, 缺什么扩展, 就如此
sudo apt install php7.1-extname
extname-> 扩展名, 自己填.
因为有的人版本是英语, 所以若看不懂的话复制到google 翻译下看一看就明了了.
这样安装成功的话, 只生成一个简单的laravel 框架文件夹(目录), 里面暂时还没有vendor, 而且vendor 下的laravel 组件也不是完整的,
所以程序运行不下来.
vendor, 就像管网所说, 在~/.composer 下, 把其复制到laravel 下就行
cp ~/.composer/vendor ~/laravel
这时你若去实行它, 不会出来东西的, 进入laravel 目录,用
php artisan serve
测试一下, 会报错, 基本上说是vendor 下的laracel 组件里面没有...文件.
2. 第二个标题
通过Composer创建项目
composer create-project --prefer-dist laravel/laravel blog
也是先找一个文件夹, 我就统一都放在主目录里
这时候可能还是会报错, 所以记得再去安装扩展...
这次安装完后会生成一个blog 目录, 上面语句最后的名字, 就是生成目录的名字
这次安装了个完整的了, 安装过程你也会看到, 进度会比刚才的多.
这时我们就去Nginx 配置文件中去配置个域名站点, 就是虚拟主机. 在Nginx 配置篇有说,
http://www.cnblogs.com/loseself/p/8888009.html, 在这里再重复一下.
a. 先去hosts 文件中加一个你想要的域名, 这里统一起abc, 可以自己换
sudo vim /etc/hosts
127.0.0.1 abc
b. 更改Nginx 配置
cd /etc/nginx
sudo cp sites-available/default sites-available/abc
sudo vim sites-available/abc
------------------------------------------------------------------------+
里面需要改的配置
listen 80;
listen [::]:80;
# 换成你自己的blog 目录
root /home/loseself/blog/public;
server_name abc;
改完后保存!
------------------------------------------------------------------------+
因为是Nginx 服务器去运行, 所以需要把blog 权限改一下.
回到blog 所在的目录
cd
sudo chmod -R 777 blog
重启一下服务
sudo systemctl restart nginx php7.1-fpm
end
这样整个过程就完成了, 打开浏览器, 地址栏输入abc/
这里输入abc 要加一个/, 因为不加的话, 浏览器以为你是要搜索abc.
输入后, 出来laravel 页面, 激动人心!!!