阿里云Ubuntu14+PHP7+Nginx+Mysql环境搭建

写在前面的话:
为了将Laravel的项目搬到阿里云上也是花费了不少功夫,记录下来,留个纪念


  1. 安装Ubuntu系统。在购买阿里云ECS时候选择Ubuntu14.04.4 64位版本,安装完成后可以使用WinSCP+putty工具来登陆ubuntu系统

  2. 安装nginx。使用putty登陆系统后,先更新源sudo apt-get update,接着安装nginxsudo apt-get install nginx

  3. 配置nginx。可使用WinSCP图形化界面,打开/etc/nginx/sites-available/default文件,修改root、index和location /,增加location ~ .php$部分,重启nginx使配置生效sudo service nginx restart。配置文件可参考以下案例:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    #root为项目代码所在目录
    #index在中间添加index.php
    root /var/www/zshanjun/public;
    index index.php index.html index.htm;

    # Make site accessible from http://localhost/
    #填写购买的阿里云外网IP或者自己已经解析备案的域名
    server_name http://120.24.157.100/;

    #更改未被注释一行
    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 /index.php =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;
        }
}

4.** 安装PHP7**

  • 添加PPA。PPA,表示 Personal Package Archives,也就是个人软件包集。
sudo apt-get install python-software-properties software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
  • 安装PHP7以及所需的一些扩展
    sudo apt-get install php7.0-fpm php7.0-cli php7.0-mcrypt php7.0-mysql php7.0-mbstring php7.0-xml

5.** 配置PHP7**

  • 打开php.ini配置文件,找到cgi.fix_pathinfo选项,去掉注释,然后将值设置为0 (vim使用“/”进入查找模式)
    sudo vim /etc/php/7.0/fpm/php.ini
  • 启用php7.0-mcrypt
    sudo phpenmod mcrypt
  • 重启php7.0-fpm
    sudo service php7.0-fpm restart

6.** 安装Mysql**
sudo apt-get install mysql-server-5.6 mysql-client-5.6
途中会提示设置MySQL的密码,安装好后:
mysql -u root -p
然后输入刚刚设置的密码,能成功进入即成功安装。

7.** 安装Laravel项目**

  • 安装Composer,分别执行以下命令:
sudo apt-get install curl
cd ~
curl -sS https://getcomposer.org/installer| php
sudo mv composer.phar /usr/local/bin/composer
  • 安装压缩、解压缩程序
    sudo apt-get install zip unzip
  • 安装git
    sudo apt-get install git
    然后在Coding上创建一个私有项目laravel,里面包含所有该Laravel项目所需代码。
  • 使用git将代码clone到服务器上
cd /var

mkdir www

cd www

git clone your-project-git-link
  • 修改Laravel项目的访问权限
sudo chown -R :www-data /var/www/laravel

sudo chmod -R 775 /var/www/laravel/storage
  • 导入Laravel 的vendor目录
cd /var/www/laravel

composer install

8.访问网站。在浏览器输入外网IP或者绑定的域名就可访问网站啦。如果有数据库,使用mysql -u root -p进入mysql数据库,创建数据库,再使用php artisan migrate生成数据表。


其他问题

  1. 如果在阿里云重装了系统,很可能在更新源的时候就出现问题,即sudo apt-get update时候不能更新源,解决办法是使用如下命令新建一个更新源文件:
cd /etc/apt/
touch sources.list
sudo vim sources.list

再将下面的代码粘贴进去即可:

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb http://archive.canonical.com/ubuntu/ trusty partner

deb http://extras.ubuntu.com/ubuntu/ trusty main

2.在安装PHP7和扩展的时候可能因为部分组件有问题而不能安装的,这时候可以分开安装,逐个排除问题。


更新 2016-6-27

使用Navicat远程登陆阿里云Mysql数据库

  1. 修改sudo vim /etc/mysql/my.cnf文件,将#bind-address = 127.0.0.0一行注释掉
  2. 更改Mysql授权,并重启使配置生效。
mysql -u root -p;
use mysql;
grant all privileges on *.* to 'root'@'%' identified by 'your password' with grant option;
flush privileges;
exit;
sudo service mysql restart;
  1. 配置Navicat。在Host Name一栏填写阿里云外网IP,用户名为root,密码为你的密码,其他可保持不变

参考文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容