markdown Urantu 16.x上的Laravel 5.x,PHP 7.x,Nginx 1.9.x.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Urantu 16.x上的Laravel 5.x,PHP 7.x,Nginx 1.9.x.相关的知识,希望对你有一定的参考价值。

#Steps to install latest Laravel, LEMP on AWS Ubuntu 16.4 version.
This tutorial is the improvised verision of this [tutorial on Digitalocean](https://www.digitalocean.com/community/tutorials/how-to-install-laravel-with-an-nginx-web-server-on-ubuntu-14-04) based on my experience. 

## Install PHP 7 on Ubuntu
Run the following commands in sequence. 
```
sudo apt-get install -y language-pack-en-base
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install zip unzip
sudo apt-get install -y php7.0 php7.0-fpm php7.0-mysql php7.0-zip php7.0-gd
sudo apt-get install nginx git
```

Important packages for Laravel 
```
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get install -y php7.0-mbstring php7.0-xml --force-yes
```

Some Optional ones
```
sudo apt-get install php7.0-curl php7.0-json
```

**NOTE:** You can use the following command to list available PHP 7.0 packages: 
```
sudo apt-cache search php7-*
```
## Modify the PHP Configuration
Run the following command to go to php.ini
```
sudo nano /etc/php/7.0/fpm/php.ini
```
And uncomment and fix `cgi.fix_pathinfo` to 
```
cgi.fix_pathinfo=0
```
Restart PHP 7.0 FPM 
```
sudo service php7.0-fpm restart
```

## Configure Nginx for Laravel
I am going to setup using a blank latest version of Laravel. This would installed in `/var/www/laravel` folder. 

Run the following in terminal: 
```
sudo mkdir -p /var/www/laravel
```

Next, we are going to modify the nginx's default configuration file: `/etc/nginx/sites-available/default`. But before that, just make a backup of the file: 
```
sudo mkdir ~/Backups
sudo cp /etc/nginx/sites-available/default ~/Backups/default
```

Use the following command to edit the file 
```
sudo nano /etc/nginx/sites-available/default
```

Next modify `default` from this: 
```
server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }
}
```
to this: 
```
server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/laravel/public;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name <Your Domain name / Public IP Address>;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
```
Notice the difference: 
- `try_files $uri $uri/ =404;` has been changed to `try_files $uri $uri/ /index.php?$query_string;` 
- and ` location ~ \.php$ { ... }` block has been added.

Restart nginx. 
```
sudo service nginx restart
```

If all was configured well, you'd see no error. 

## SWAP file (Optional)
Swap files would help in cases where your server might run out of memory. 

```
sudo fallocate -l 1G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
```
## Install Composer and Laravel

Use the following commands to install composer and make it available across all folders. 

```
cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
```
Test by `composer` command to see if it was installed correctly. 

Install laravel by using the following command.
```
sudo composer create-project laravel/laravel /var/www/laravel
```
In case it throws out errors due to missing packages, find the package name using 
```
sudo apt-cache search php7-*
```
and then remove and create the folder before running the composer create-project again. 
```
sudo rm -rf /var/www/laravel
sudo mkdir /var/www/laravel
```

## Setting the permissions right for the Laravel folders. 
```
sudo chown -R :www-data /var/www/laravel
sudo chmod -R 775 /var/www/laravel/storage
```

### Finish
Check your site by `http://server_domain_or_IP` and it should show you "Laravel" homepage. 

### Other commands of use. 

Installed a package that you don't need? Use the following commands to remove the package. 
```
sudo apt-get purge <package name> 
sudo apt-get autoremove --purge
```

Use following command to remove a folder and it's contents 
```
sudo rm -rfv <folder_name>
```

Test PHP version 
```
php -v
```

### How to Setup additional hosts?
This is covered in [this gist](https://gist.github.com/santoshachari/8238a7a4e7132d3c86a8720a81cd9fa1). Both gists were written in continuation. 

以上是关于markdown Urantu 16.x上的Laravel 5.x,PHP 7.x,Nginx 1.9.x.的主要内容,如果未能解决你的问题,请参考以下文章

岭回归LASSO与LAR的几何意义

markdown GitHub上的Markdown主题

GitHub Pages 上的 Jekyll:在另一个 markdown 文件中包含 markdown

PHP PHPBBForumlarındaKullanıcılarıŞifresiniTopluHa

更改webkit引擎上的默认滚动条

markdown rabu上的ubuntu 18