搭建nginx服務(wù)器 配置laravel

搭建前準(zhǔn)備

【環(huán)境】

  • php7.0版本
  • mysql5.7版本

Ps:本篇所有配置基本都需要管理員權(quán)限级解,所以請?zhí)崆? sudo su '

安裝好 VirtualBox-5.1.6-110634-Win 和 vagrant_1.8.5 后 在本地目錄新建一個工作目錄,進(jìn)入工作目錄按住shift同時點擊鼠標(biāo)右鍵泣刹,點擊 在此處打開命令窗口睡榆。

添加box鏡像

//vagrant box add 系統(tǒng)名字 box鏡像
vagrant box add server ubuntu16.04.box

vagrant box add server ubuntu16.04.box

初始化server

//vagrant init 系統(tǒng)名字
vagrant init server

vagrant init server

這時候早工作目錄中會看到一個Vagrantfile文件露久,用記事本打開編輯第29行的ip笼沥。把前面的注釋去掉铣揉,ip地址可以根據(jù)自己需求修改哪审。

修改ip

開啟虛擬機

//vagrant up
vagrant up

開啟虛擬機

成功啟動過后會在工作目錄中看到文件夾.vagrant

.vagrant文件夾

可以用第三方工具來連接我們的虛擬機中的服務(wù)器了

特別注意: 如果是第三方工具連接, 用戶名和密碼都是 vagrant

(虛擬機安裝結(jié)束)


接下來開始搭建nginx環(huán)境

修改源

//打開目錄
cd /etc/apt/
//備份源
cp sources.list sources.list.bak
//修改源
vim sources.list
//進(jìn)入文件后蛾魄,敲鍵盤` 60dd `刪除原來的信息
//本例使用中科大的源,其他三個我的ubuntu14.04都出問題了,更換完apt-get update報錯滴须,自己對應(yīng)看下吧舌狗,然后就是安裝完php7.0之后就關(guān)不了機了
//切記使用一個源就好
/***-----------中科大學(xué)源------------***/
deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe 
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe 
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe 
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe 
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe 
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe 
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe 
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe 
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe 
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
/***-----------清華大學(xué)源------------***/
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

//切記使用一個源就好
/***-----------東北大學(xué)源------------***/
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security multiverse

//切記使用一個源就好
/***-----------阿里云源------------***/
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

準(zhǔn)備

//升級(剛剛修改的源 就是這里)
sudo apt-get update 

//這個包是為了解決系統(tǒng)不同語言之間可能發(fā)生的沖突,
//安裝之后可以減少許多因語言編碼帶來的問題扔水。
//其中-y參數(shù)表明直接安裝痛侍,無需確認(rèn)。
sudo apt-get install -y language-pack-en-base

//安裝完成之后魔市,運行
//設(shè)定語言編碼為UTF-8
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

安裝php7.0及其必用和常用依賴包

apt-get install php7.0
apt-get install php7.0-mysql
apt-get install php7.0-fpm
apt-get install php7.0-curl
apt-get install php7.0-xml
apt-get install php7.0-mcrypt
apt-get install php7.0-xml
apt-get install php7.0-json
apt-get install php7.0-mbstring
apt-get install php7.0-gd

//懶人復(fù)制
apt-get install php7.0-mysql php7.0-fpm php7.0-curl php7.0-xml mcrypt php7.0-xml php7.0-json php7.0-mbstring php7.0-gd

ps
如果提示Couldn't find any package by regex 'php7.0'主届,是因為這個源沒有php7.0版本,需要重新?lián)Q源待德,或者執(zhí)行下列命令:
1.先解決有可能存在的語言問題
執(zhí)行

sudo apt-get update 
sudo apt-get install -y language-pack-en-base

然后命令行配置:

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

2.刪除原來的php5.6(如果安裝的了php5.6的話君丁,沒安裝可以跳過)

sudo apt-get purge php5-fpm && apt-get --purge autoremove

3.添加php7.0的倉庫

 sudo apt-get install software-properties-common
 sudo add-apt-repository ppa:ondrej/php
  1. 查看是否有php7版本
    sudo apt-cache search php會出現(xiàn)下面php7的最新模塊就是成功了,就可以安裝php7了

    安裝完之后輸入shutdown看看有沒有提示 --help将宪,沒有的話估計你vagrant halt就是管不了機了绘闷,這時你就需要更換其他的源。我就是換了中科大的才可以(我覺得是在apt-get update那就出現(xiàn)問題了)较坛。

安裝mysql5.7

apt-get install mysql-server-5.7

安裝nginx

apt-get install nginx

安裝一些常用的工具

apt-get install curl
apt-get install wget
apt-get install vim
apt-get install ssh
apt-get install openssl
apt-get install git
apt-get install zip
apt-get install unzip
//懶人復(fù)制
apt-get install curl wget vim ssh openssl zip unzip git

(環(huán)境配置結(jié)束)


laravel 開發(fā)環(huán)境配置

配置php

vim /etc/php/7.0/fpm/php.ini

輸入 :set nu
在第761行
找到
cgi.fix_pathinfo=1
改為
cgi.fix_pathinfo=0

cgi.fix_pathinfo=0

編輯 fpm 的配置文件

vim /etc/php/7.0/fpm/pool.d/www.conf
輸入 :set nu
在第36行
找到
listen = /run/php/php7.0-fpm.sock
改為
listen = 127.0.0.1:9000

然后執(zhí)行service php7.0-fpm stop再執(zhí)行service php7.0-fpm start
重啟fpm服務(wù)

配置 nginx

需要修改的地方會有注釋
為了讓大家看得清楚印蔗,就把行號打開了
Ps:打開行號的命令 :set nu

vim /etc/nginx/sistes-available/admin.cbc.com
//如下修改
  1 ##
  2 # You should look at the following URL's in order to grasp a solid understanding
  3 # of Nginx configuration files in order to fully unleash the power of Nginx.
  4 # http://wiki.nginx.org/Pitfalls
  5 # http://wiki.nginx.org/QuickStart
  6 # http://wiki.nginx.org/Configuration
  7 #
  8 # Generally, you will want to move this file somewhere, and start with a clean
  9 # file but keep this around for reference. Or just disable in sites-enabled.
 10 #
 11 # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
 12 ##
 13
 14 # Default server configuration
 15 #
 16 server {
          //我注釋掉了原來的配置,下面那條是自己手寫的80端口
 17         #listen 80 default_server;
 18         listen 80;
 19         #listen [::]:80 default_server;
 20
 21         # SSL configuration
 22         #
 23         # listen 443 ssl default_server;
 24         # listen [::]:443 ssl default_server;
 25         #
 26         # Note: You should disable gzip for SSL traffic.
 27         # See: https://bugs.debian.org/773332
 28         #
 29         # Read up on ssl_ciphers to ensure a secure configuration.
 30         # See: https://bugs.debian.org/765782
 31         #
 32         # Self signed certs generated by the ssl-cert package
 33         # Don't use them in a production server!
 34         #
 35         # include snippets/snakeoil.conf;
 36
          //這個是配置本地的laravel環(huán)境目錄
 37         root /vagrant/laravel/public;
 38
 39         # Add index.php to the list if you are using PHP
          //添加了一個 index.php 丑勤,原來是沒有的华嘹。
 40         index index.php index.html index.htm index.nginx-debian.html;
 41
 42         #server_name lufficc.com www.lufficc.com;
          //這里是測試的時候,為了方便寫的域名法竞。
 43         server_name admin.cbc.com;
 44
 45         location / {
 46                 # First attempt to serve request as file, then
 47                 # as directory, then fall back to displaying a 404.
 48                 #try_files $uri $uri/ =404;
          //將下面的指令放到站點配置文件中就可以實現(xiàn)美化鏈接的功能除呵。
 49                 try_files $uri $uri/ /index.php?$query_string;
 50         }
 51
 52         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 53         #
          //去掉前面的注釋就好了。
 54         location ~ \.php$ {
          //去掉前面的注釋就好了爪喘。
 55                 include snippets/fastcgi-php.conf;
 56         #
 57         #       # With php7.0-cgi alone:
          //去掉前面的注釋就好了颜曾。
 58                 fastcgi_pass 127.0.0.1:9000;
 59         #       # With php7.0-fpm:
 60         #       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
          //千萬不要忘記這里,去掉前面的注釋就好了秉剑。
 61         }
 62
 63         # deny access to .htaccess files, if Apache's document root
 64         # concurs with nginx's one
 65         #
 66         #location ~ /\.ht {
 67         #       deny all;
 68         #}
 69 }
 70
 71
 72 # Virtual Host configuration for example.com
 73 #
 74 # You can move that to a different file under sites-available/ and symlink that
 75 # to sites-enabled/ to enable it.
 76 #
 77 #server {
 78 #       listen 80;
 79 #       listen [::]:80;
 80 #
 81 #       server_name example.com;
 82 #
 83 #       root /var/www/example.com;
 84 #       index index.html;
 85 #
 86 #       location / {
 87 #               try_files $uri $uri/ =404;
 88 #       }
 89 #}

重啟 nginx

service nginx stop
service nginx start

配置站點的時候
添加一個軟連接
cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/admin.cbc.com ./

nginx配置完畢


添加 laravel

這里面的laravel是我自己手動再本地的工作目錄下添加的泛豪,因為服務(wù)器的目錄/vagrant里面是于本地的工作目錄同步的,所以這也是為什么在配置nginx的時
候第37行會把項目的root目錄指向/vagrant目錄下的原因侦鹏。畢竟是為了開發(fā)
的時候方便一些诡曙。

修改本地 hosts 文件

在地址欄輸入地址:C:\Windows\System32\drivers\etc
XpWin7略水、可以直接修改hosts文件价卤,Win8Win8.1渊涝、Win10需要把hosts拖到桌面慎璧,修改后再拖拽回去床嫌。

添加示例如下(注意注釋的部分):

# 添加如下
# 192.168.33.33 是VBox虛擬機中服務(wù)器主機的IP地址
# admin.cbc.com 是我們配置好的域名
192.168.33.33    admin.cbc.com

關(guān)于使用 Navicat for MySQL 連接數(shù)據(jù)庫問題

很多人都連不上數(shù)據(jù)庫,總會有連接失敗的提示胸私⊙岽Γ可能是因為端口混淆的問題。
廢話不多說岁疼,看圖:

SSH部分 配置

General部分 配置

我自己這樣修改后就連接上了阔涉,如果你還是連接不上,在網(wǎng)上找到了大神的解決方法捷绒,報如下錯誤請按照如下修改瑰排。

#錯誤
Lost connection to MySQL server at ‘reading initial communication packet', system error: 0

解決方法

#找到mysql的配置文件
vim /etc/mysql/my.cnf
#看看是否有綁定本地回環(huán)地址的配置,如果有暖侨,注釋掉下面這段文字:(在文字之前加上#號即可)
bind-address = 127.0.0.1
#然后找到[mysqld]部分的參數(shù)凶伙,在配置后面建立一個新行,添加下面這個參數(shù):
skip-name-resolve
#保存文件并重啟MySQL:
/etc/init.d/mysql restart
#解決

再不行的話按下面的執(zhí)行一下

//修改本地SSH配置文件
vim /etc/ssh/sshd_config
//在配置信息的尾部它碎,添加如下代碼:
KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
//保存退出后函荣,執(zhí)行
ssh-keygen -A
//重啟SSH
service ssh restart

如果還是不行,也可能是Navicat for MySQL版本問題扳肛∩倒遥或者請使用英文版(漢化版不解釋)。

(全文完)


【文章中命令解釋】
最后附上vagrant
一些常用的命令, 希望這能幫助你們, 別忘記點贊喲
$ vagrant box add NAME URL #添加一個box
$ vagrant box list #查看本地已添加的box
$ vagrant box remove NAME virtualbox #刪除本地已添加的box
$ vagrant box remove NAME 如若是版本1.0.x挖息,執(zhí)行
$ vagrant init NAME #初始化金拒,實質(zhì)應(yīng)是創(chuàng)建Vagrantfile文件
$ vagrant up #啟動虛擬機
$ vagrant halt #關(guān)閉虛擬機
$ vagrant destroy #銷毀虛擬機
$ vagrant reload #重啟虛擬機
$ vagrant package #當(dāng)前正在運行的VirtualBox虛擬環(huán)境打包成一個可重復(fù)使用的box
$ vagrant ssh #進(jìn)入虛擬環(huán)境


【原文轉(zhuǎn)自】
搭建nginx服務(wù)器 配置laravel
【原文參考】
《倡哥 - Ubuntu 下php7 mysql5.7 LNMP 環(huán)境搭建》
《倡哥 - Windows 下使用 Vagrant 構(gòu)建 Linux 開發(fā)環(huán)境》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市套腹,隨后出現(xiàn)的幾起案子绪抛,更是在濱河造成了極大的恐慌,老刑警劉巖电禀,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幢码,死亡現(xiàn)場離奇詭異,居然都是意外死亡尖飞,警方通過查閱死者的電腦和手機症副,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來政基,“玉大人贞铣,你說我怎么就攤上這事【诿鳎” “怎么了辕坝?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長荐健。 經(jīng)常有香客問我酱畅,道長琳袄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任圣贸,我火速辦了婚禮挚歧,結(jié)果婚禮上扛稽,老公的妹妹穿的比我還像新娘吁峻。我一直安慰自己,他們只是感情好在张,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布用含。 她就那樣靜靜地躺著,像睡著了一般帮匾。 火紅的嫁衣襯著肌膚如雪啄骇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天瘟斜,我揣著相機與錄音缸夹,去河邊找鬼。 笑死螺句,一個胖子當(dāng)著我的面吹牛虽惭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛇尚,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼芽唇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了取劫?” 一聲冷哼從身側(cè)響起匆笤,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤广凸,失蹤者是張志新(化名)和其女友劉穎送爸,沒想到半個月后寝杖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秤茅,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蝌诡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年另绩,在試婚紗的時候發(fā)現(xiàn)自己被綠了叮阅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片望侈。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡璧函,死狀恐怖傀蚌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蘸吓,我是刑警寧澤善炫,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站库继,受9級特大地震影響箩艺,放射性物質(zhì)發(fā)生泄漏窜醉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一艺谆、第九天 我趴在偏房一處隱蔽的房頂上張望榨惰。 院中可真熱鬧,春花似錦静汤、人聲如沸琅催。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽藤抡。三九已至,卻和暖如春抹估,著一層夾襖步出監(jiān)牢的瞬間缠黍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工药蜻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓷式,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓语泽,卻偏偏與公主長得像贸典,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子湿弦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容