Debian 8部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境
Song •
2417 次浏览 •
0个评论 •
2018年07月05日
今天我们讲解一下如何在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
# 如果你要安装mysql
# sudo apt install mysql-server
配置maridb
# 登录mysql
mysql -uroot -p
# 设置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/my.cnf
# 找到如下代码,前面加#注释掉
bind-address = 127.0.0.1
# 开启log-bin方便数据误操作恢复[mysqld]下
log-bin=mysql-bin
五、安装PHP7
打开sources.list
添加dotdeb.org
的源:
vim /etc/apt/sources.list
在末尾添加如下内容:
deb http://packages.dotdeb.org jessie all
deb-src http://packages.dotdeb.org jessie all
然后添加GnuPG
的key
:
wget https://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg
更新软件源:
apt-get update
开始安装PHP7
:
apt-cache search php
可以搜到php7.0
的结果,直接运行install
命令开始安装
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-common php7.0-gd php7.0-json php7.0-cli php7.0-curl php7.0-dev
到此配置文件基本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
提交评论
请登录后评论
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
-
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
ubuntu crontab设置定时任务教程以及常见命令合集