[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境
Song •
7848 次浏览 •
8个评论 •
2017年07月18日
今天我们讲解一下如何在ubuntu16.04中部署LNMP环境(php7+maridb并且开启maridb远程以及多域名访问 )并配置laravel项目。
一、更新源列表
sudo apt-get update
二、无法执行sudo命令解决办法,如果不出现就跳过
如果你无法执行sudo命令,出现Ubuntu sudo: unable to resolve host XXX
如下:
解决办法如下,如果没有出现就跳过这一步
# vim /etc/hosts
# 找到127.0.0.1 localhost
127.0.1.1 这里改成你的主机名
# 如果没有这一行 自行添加上去就行了
三、接下来我们开始安装nginx
安装nginx,我这里安装nginx/1.13.0 (Ubuntu),你的可能不一样,不过没有关系。
sudo apt-get install nginx
安装成功,我们来启动一下nginx,然后我们访问我们的IP地址,就可以访问到nginx欢迎页面
sudo service nginx start
四、安装配置maridb
为什安装maridb,MariaDB是Mysql的升级版,性能有明显的提高,
安装maridb
apt-get install mariadb-server python-pymysql
配置maridb
# 登录mysql
mysql -uroot -p
# 如果登陆失败则可以设置密码
# sudo mysql_secure_installation
# 设置root账号的密码,建议弄复制一点比较安全
SET PASSWORD FOR root@localhost = PASSWORD(sD9854fals87s34GB98s);
# 切换数据库
use mysql;
# 让我们的mysql允许远程访问
grant all privileges on *.* to root@"%" identified by "sD9854fals87s34GB98s" with grant option;
# 刷新一下数据库配置
flush privileges;
查看3306端口是否正常
root@node1:~# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
注意:现在的3306端口绑定的IP地址是本地的127.0.0.1
root@node:~# vim /etc/mysql/mariadb.conf.d/50-server.cnf
# 找到如下代码,前面加#注释或者更改
# bind-address = 127.0.0.1 #禁用127.0.0.1允许远程链接
bind-address = 0.0.0.0
# 允许所有IP访问,你可以允许多个IP访问格式为:127.0.0.1 199.199.199.199
# 开启log-bin方便数据误操作恢复[mysqld]下
log-bin=mysql-bin
五、安装PHP7
1、直接运行sudo apt-get php7.0-fpm
命令安装 PHP可能会报错误,如果不报错跳过即可:
E: Unable to locate package php7.1
E: Couldnt find any package by regex php7.1
原因是 PHP7 等并不在 Ubuntu的软件库中,因此要使用 PPA ppa:ondrej/php
库,如果提示
sudo: apt-add-repository: command not found
所以我们需要安装一下python-software-properties
apt install software-properties-common
apt-get install python-software-properties
2、安装php7,使用下列命令:
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php7.0-fpm
安装 PHP7.0包的同时也安装了 PHP7.0-CLI,可以使用 php -v 命令来查看 PHP 版本信息。
到此配置文件基本ok了,我们在/var/www/html
目录下,新建个index.php
测试下看看
<?php
phpinfo();
?>
五. 配置nginx,允许laravel访问,开启重写路由
1、创建网站的根目录
sudo mkdir -p /var/www
2、配置nginx服务器,以后我们会经常在这里修改配置
sudo vim /etc/nginx/sites-available/default
打开nginx的配置文件之后,找到server这一块,大概是长这个样子的
server {
# 监听的端口,http为80,https为443
listen80 default_server;
listen [::]:80 default_server ipv6only=on;
# root代表的为项目地址
root /usr/share/nginx/html;
# index代表默认访问的主页
index index.html index.htm;
# server_name代表域名地址
server_name localhost;
# location代表从写路由
location / {
try_files$uri$uri/ =404;
}
}
好的,我们来修改成我们laravel能够使用的配置
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/php7.0-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
这样我们就可以访问我们的laravel项目了,不过你可能需要一些php拓展,建议缺啥安装啥:
sudo apt install php-mysql php-curl php-mcrypt php-gd php-memcached php-redis #此方式安装会同时在多个版本下面分别安装
#还有一些库
sudo apt install php7.0 #按tab 可以显示如下一些库
php7.0 php7.0-fpm php7.0-mysql php7.0-sqlite3
php7.0-bcmath php7.0-gd php7.0-odbc php7.0-sybase
php7.0-bz2 php7.0-gmp php7.0-opcache php7.0-tidy
php7.0-cgi php7.0-imap php7.0-pgsql php7.0-xml
php7.0-cli php7.0-interbase php7.0-phpdbg php7.0-xmlrpc
php7.0-common php7.0-intl php7.0-pspell php7.0-xsl
php7.0-curl php7.0-json php7.0-readline php7.0-zip
php7.0-dba php7.0-ldap php7.0-recode
php7.0-dev php7.0-mbstring php7.0-snmp
php7.0-enchant php7.0-mcrypt php7.0-soap
用户评论
-
Song 2017-07-16 04:00:58ubuntu 18.04连接mysql需要加上sudo ``` sudo mysql -uroot -p ```0 赞 0 条评论 回复评论查看更多评论!设置mysql默认密码 ``` sudo mysql_secure_installation ```0 赞 0 条评论 回复评论查看更多评论!如果想安装`php 7.2`版本,可以直接将`7.0`更新成`php 7.2`即可0 赞 0 条评论 回复评论查看更多评论!重启php7.0使用 ``` sudo service php7.0-fpm restart ```0 赞 0 条评论 回复评论查看更多评论!如果mysql配置后还是无法连接,可以尝试重启mysql,命令如下: ``` sudo service mysql restart ```0 赞 1 条评论 回复评论查看更多评论!我这发现的一个问题说一下,`Nginx`配置文件里`fastcgi_pass`的地址有的应该是`unix:/var/run/php/php7.0-fpm.sock;`按教程配置失败的同学可以改过来试试
更多相关好文
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
花生壳绑定ubuntu服务器? 2024-08-23
热门文章
-
花生壳绑定ubuntu服务器? 2024-08-23
-
Laravel模型更新全表如何实现? 2024-03-11
-
php图片转为二进制数据的方法 2023-10-23
-
Jquery如何监听动态创建元素的点击事件? 2023-09-08
-
所以SheetJS实现table导出数据为Excel 2023-09-05
栏目最新文章
本站主要用于学习交流Laravel技术,分享Laravel优秀案例;同时非常欢迎大家投稿哦!如果有招聘信息也可以联系我我帮忙发布哦!公告提示
提交评论