一. 安裝 git
- 直接在 git 官網下載安裝即可。
二. 準備工作
- 下載 Vagrant 並安裝。
- 下載 VirtualBox 並安裝。
- 下載 ubuntu16.04server 。
- 將 ubuntu 放在你的專案目錄,開啟 git bash ,cd 到你的專案目錄。
- 輸入 vagrant box add lnmp xenial-server-cloudimg-amd64-vagrant.box。
看到提示 box:Successfully added box for 'virtualbox' 即安裝成功
初始化 box 輸入 vagrant init lnmp
配置 vagrantfile 檔案,啟動虛擬機器
vim vagrantfile 將 config.vm.network "private_netword", ip:"192.168.199.199",註釋開啟
執行 vagrant up
啟動虛擬機器
如果提示 powershell 相關問題,請下載 powershell 或者更新 powershell 到最新版本
執行 vagrant ssh
進入虛擬機器
虛擬機器下的 vagrant 的目錄會對映到你專案目錄
安裝 php
如果安裝速度較慢,可以將 ubuntu 換到國內映象,方法自行百度
安裝 php 7.1 之前,要先安裝 language-en-base 這個包,這個包是為了解決系統不同,造成語言之間可能傳送衝突
安裝之後可以減少許多因語言編碼帶來的問題,其中 -y 參數列明直接安裝,無需確認
sudo apt-get update
sudo apt-get install -y language-pack-en-base
安裝完成之後, 執行
locale-gen en_US.UTF-8
設定語言編碼為 UTF-8
sudo apt-get install software-properties-common
software-properties-common 是 add-apt-repository 所依賴的包,安裝成功後執行
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
安裝完成之後,執行 sudo apt-get update
更新安裝包,把剛才新增的包拉取下來.
執行 apt-cache search php 7.1
搜尋 php 7.1 開頭的包檢驗是否安裝成功,輸出如下:
root@demo:~# apt-cache search php7.1
php-yaml - YAML-1.1 parser and emitter for PHP
php-apcu - APC User Cache for PHP
php-ssh2 - Bindings for the libssh2 library
php-igbinary - igbinary PHP serializer
php-mailparse - Email message manipulation for PHP
php-libsodium - PHP wrapper for the Sodium cryptographic library
php-propro - propro module for PHP
...
...
安裝 php sudo apt-get -y install php 7.1
安裝完成後,執行 php -v
檢視是否安裝成功,成功的話會輸出類似如下資訊
PHP 7.1.0 beta2 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.1.0 beta2, Copyright (c) 1999-2016, by Zend Technologies
安裝 php 7.1 -mysql 這是 php 7.1 與 mysql 的通訊模組:
sudo apt-get -y install php7.1-mysql
安裝 fpm,這是 Nginx 用來解析 php 檔案的:
sudo apt-get install php7.1-fpm
安裝其他必備模組
sudo apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
至此, PHP 與 PHP 相關模組全部安裝完成
安裝 composer
- wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
- chmod a+x /usr/local/bin/composer
- 將 composer 換至國內映象
- composer config -g repo.packagist composer https://packagist.laravel-china.org
- 下載 laravel 專案 composer create-project --prefer-dist laravel/laravel blog "5.5.*"
- 執行 composer install 出現如下問題
Failed to download symfony/thanks from dist: The zip extension and unzip command are both missing....
執行
sudo apt-get install zip
sudo apt-get install unzip
安裝 mysql
下載 .deb 包到你的伺服器
wget http://dev.mysql.com/get/mysql-apt-config_0.5.3-1_all.deb
然後使用 dpkg 命令新增mysql的源
sudo dpkg -i mysql-apt-config_0.5.3-1_all.deb
注意在新增源的時候,會要你選擇安裝mysql那個應用,選擇server即可,在選擇mysql5.7後又會回到選擇那個應用介面,
此時選擇apply即可
開始安裝mysql
sudo apt-get update
sudo apt-get install mysql-server
安裝完成之後,執行 mysql -V
檢視版本:
root@demo:~# mysql -V
mysql Ver 14.14 Distrib 5.7.15, for Linux (x86_64) using EditLine wrapper
注意 如果你已經通過 ppa的方式安裝了 mysql5.6,首先要去掉這個源
sudo apt-add-repository --remove ppa:ondrej/mysql-5.6
如果沒有 apt-add-repository 先安裝上
sudo apt-get install software-properties-common
然後其他和上面一樣,但最後要執行 sudo mysql_upgrade -u root -p
升級資料庫,執行 sudo service mysql restart
重啟資料庫,這樣你的資料會完好無缺(不出意外的話)。
安裝 nginx
sudo apt-get -y install nginx
然後執行 curl localhost
檢視是否執行成功
配置 php.ini
sudo vim /etc/php/7.1/fpm/php.ini
輸入 /fix_pathinfo 搜尋,將 cgi.fix_pathinfo=1 改為 cgi.fix_pathinfo=0,大概在 775 行的位置
編輯fpm的配置檔案
sudo vim /etc/php/7.1/fpm/pool.d/www.conf
找到 listen = /run/php/php7.1-fpm.sock修改為listen = 127.0.0.1:9000。使用 9000 埠。,大概在 36 的位置
重啟 php-fpm
sudo service php7.1-fpm stop
sudo service php7.1-fpm start
配置 nginx
sudo vim /etc/nginx/sites-available/default
主要配置 server 這部分,最終配置如下,注意結束的 } 是否配對
server {
#listen 80 default_server;
listen 80;
#listen [::]:80 default_server ipv6only=on;
root /var/www/your-project-name/public;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name lufficc.com www.lufficc.com;
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$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
至此,所有配置已全部完成,如果你需要在 git 上下載專案,請自行百度生成祕鑰,執行命令時注意許可權問題.
連線資料庫
- 開啟 navicat 新建連結
- 常規配置:主機域名輸入 127.0.0.1
- 使用者名稱 root,密碼 虛擬機器 root 使用者密碼 linux 下修改 root 使用者密碼
- SSH 選項,主機名 虛擬機器 IP 地址 使用者名稱 vagrant 密碼 vagrant
- 修改完成後,用 root 使用者測試看能否登入 mysql
- 登入成功後,即可連結資料庫
- 如果報錯,資訊為: SSH:Disconnected: Authentication not available(server required:publickey)
- 輸入指令 vim /etc/ssh/sshd_config
- 大概在 52 行位置,將 PasswordAuthentication 的 no 改為 yes
- 重啟 sshd 服務
sudo service sshd restart
再次連線資料庫,提示連線成功
命令小結
# 安裝php7.1
sudo apt-get update
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-8
sudo apt-get install software-properties-common
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get -y install php7.1
sudo apt-get -y install php7.1-mysql
sudo apt-get install php7.1-fpm
apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
# 安裝mysql5.7
wget http://dev.mysql.com/get/mysql-apt-config_0.5.3-1_all.deb
sudo dpkg -i mysql-apt-config_0.5.3-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server
# 安裝nginx
sudo apt-get -y install nginx
本作品採用《CC 協議》,轉載必須註明作者和本文連結