本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

[ 视频 ] 在阿里云ESC 下ubuntu中部署LNMP环境( 开启mysql远程以及多域名访问 )并配置laravel项目

阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境的,大家购买的时候可以填写一个优惠码,有9折优惠哦:r8lwmu,下面我录制了一个视频,方便大家观看学习

1.首先,我们更新一下包列表

sudo apt-get update

1. 安装Nginx

sudo apt-get install nginx

安装完Nginx,执行

sudo service nginx start

再在浏览器地址栏输入你的公网IP,你就可以看的welcome to Nginx的界面了

2. 安装Mysql

sudo apt-get install mysql-server mysql-client

过程中会提示你设置Mysql的密码,就跟平时的密码设置一样,一次输入,一次确认。密码确认完毕后基本等一会就安装好了。本地登陆mysql

mysql -u root -p

如果登录成功,那Mysql就正确安装了。

第一步. 开启远程

vim /etc/mysql/my.cnf
# 找到 
bind-address           = 127.0.0.1
# 这行,注释掉(如下)
# bind-address           = 127.0.0.1
# 或者改为
bind-address           = 0.0.0.0

允许任意IP访问,或者自己指定一个IP地址。

第二步. 然后重启 MySQL

sudo service mysql restart

第三步. 授权用户远程登录

mysql -u root -p;
use mysql;
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;

   a. 第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。

  b. root:授予root账号。

  c. "%:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。

  d. "password":分配账号对应的密码。

第四步. 通过mysql客户端连接到远程的MySQL数据库

在自己本地mysql客户端中输入:

 mysql -h ip -u root -p;

   其中ip是你访问数据库所在服务器的IP地址

3. 安装PHP

sudo apt-get install php5-fpm php5-cli php5-mcrypt

只有通过php5-fpm,PHP在Nginx下才能正常运行,遂安装之。至于php5-mcrypt,有些PHP框架会依赖于这个,比如Laravel就是,所以也把它装上了。

1. 配置PHP

sudo vim /etc/php5/fpm/php.ini

打开PHP配置文件,找到cgi.fix_pathinfo选项,去掉它前面的注释分号;,然后将它的值设置为0,如下

cgi.fix_pathinfo=0

2. 启用php5-mcrypt:

sudo php5enmod mcrypt

3. 重启php5-fpm:

sudo service php5-fpm restart

到这里php就配置完成了

4. 配置nginx

1.创建网站的根目录

sudo mkdir -p /var/www

2.配置nginx服务器

sudo vim /etc/nginx/sites-available/default

打开nginx的配置文件之后,找到server这一块,大概是长这个样子的

server {
        listen80 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;
        }
}

其中rootindexserver_namelocation这几行需要稍微修改一下,具体每个的意思大家可以去看看这个阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

server {
        listen 80;
        root /var/www/laravel/public;  #访问文件目录
        index index.php index.html index.htm;
        server_name a.com;   #将server_domain_or_IP修改为你的公网IP或者域名
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
        location ~ /\.ht {
                deny all;
        }
}

配置完之后重启Nginx,使上面的配置项生效。

sudo service nginx restart

4. 创建Laravel项目

在配置完nginx后,怎么获取Laravel的项目代码呢?其实你可以直接下载代码,然后把他推送到服务器就可以了,如果想了解更多,你可以看看这篇文章Git 使用Coding轻松打造团队协作,以及轻松部署程序

1.上传代码

我们把项目放在我们配置好的项目下,然后让他运行起来

2.给文件权限

不管哪种方式安装的代码,/var/www/都是属于root用户的,而访问网站的用户则需要正确的权限和访问限制,我们可以通过下面的命令来实现。

chmod -R 777 vendor/ storage/ bootstrap/cache/

安装 php 常用扩展

sudo apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache

上面这些设计到一些拓展,最好一次性安置,不过有些会导致下次你配置NGINX不能运行多个站点哦,切记,上面还有mysql的拓展

重启 php-fpm

sudo service php5-fpm restart


转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/272
问题交流群 :562864481
4
打赏
发布时间 :2016-12-08 21:25:21
分享

3 个评论

  • 快乐
    回复
    2017-04-16 18:53

    最新配置教程已发布[ 教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb并且开启maridb远程以及多域名访问 )并配置laravel项目


  • 一沙
    回复
    2016-12-28 15:48

    出现PDOException:could not find driver 是因为没有安装php5-mysql模块,执行如下命令即可

    sudo apt-get install php5-mysql


  • 一沙
    回复
    2016-12-16 23:47

    如何把php5升级到php7,如下操作

    #安装ppa
    sudo apt-get install python-software-properties software-properties-common
    sudo add-apt-repository ppa:ondrej/php-7.0
    sudo apt-get update
    #删除php5
    sudo apt-get purge php5-fpm php5-mysql php5-common
    sudo apt-get --purge autoremove
    #安装php7
    sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl
    #把nginx *.conf 里的fastcgi_pass配置改成:
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    #重启nginx
    sudo service nginx reload
    #完成.


要回复文章请先登录注册