CentOS7.x搭建lnmp7.0环境并且部署laravel项目
今天我们总结在CentOS 7.x
运行LNMP
环境,上安装运行PHP 7
,以及配置多站点访问,开启mysql
远程访问,最终运行php laravel
项目
- [ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境,
- Ubuntu 14.04下部署LAMP( 开启mysql远程以及多域名访问 )并配置laravel项目
一、安装仓库
为了可以使用 CentOS 系统的包管理工具去安装更多的东西,我们需要单独安装一些额外的软件仓库。
EPEL
sudo yum install epel-release -y
IUS
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
IUS
仓库里面有我们需要的一些新的软件包,比如PHP 7
。注意我们安装的是为CentOS 7
这个系统准备的IUS
仓库,如果你的系统是CentOS 6
,你需要到IUS
网站上去查找适合的仓库的下载地址。
二、安装 Nginx
Nginx
这个软件包已经包装在EPEL
仓库里了,之前我们已经安装了这个仓库,所以可以直接使用包管理工具去安装Nginx
。
sudo yum install nginx -y #安装nginx
sudo systemctl start nginx #启动nginx
sudo systemctl enable nginx #开启自启动
服务启动以后,你就可以在浏览器上使用服务器的IP
地址,或者指向这个地址的域名访问服务器指定的目录了。你会看到如图所示。
三、安装PHP7
要让Nginx
能够执行php
文件,需要去安装一下php-fpm
,我要安装的是比较新的PHP 7
,这个软件包可以在IUS
仓库里找到,所以刚才让你先安装了IUS
仓库。
1、安装PHP7:
sudo yum install php70u-fpm -y #安装php7
sudo systemctl start php-fpm # 重启php7
sudo systemctl enable php-fpm #开机启动
2、安装php扩展:
sudo yum install php70u-gd php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y
我们可以重启一下php
让安装有效
sudo systemctl reload php-fpm
四、配置Nginx
安装完nginx
以后,我们需要配置Nginx
服务器。
cd /etc/nginx/conf.d
接下来我们配置多站点,我这里只做了一个,你可以复制如下方法达到多站点的效果
vim test.bbs.com.conf
然后进入编辑模式(大写的I),粘贴如下代码,server_name
为你的域名root
为访问文件夹
server {
listen 80;
server_name test.earnp.com;
root /var/www/laravel/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
注意:try_files $uri $uri/ /index.php?$query_string;
是开启从写路由,很多朋友说网站只能进首页,其他网页都是404
就是重写路由没有开启,第二个Location
设置了让虚拟主机可以去处理PHP
的请求。
重启nginx
或者重新加载nginx
可以让配置文件生效。
sudo systemctl reload nginx
五、安装MySQL/MariaDB
MySQL
与MariaDB
是相互兼容的,现在社区推荐使用MariaDB
,所以我们安装MariaDB
代替MySQL
。
1、安装MariaDB
sudo yum install mariadb101u-server -y
如果出现冲突的提示,是因为系统本身自带MariaDB
,我们需要先删除掉系统本身带的,才能正常安装比较新的。一般可以这样来删除(不报错跳过):
sudo yum remove mariadb-libs -y
重启mysql/mariadb
sudo systemctl start mariadb
设置开机启动
sudo systemctl enable mariadb
然后我们需要简单配置一下mysql
,默认安装以后mysql
的root
用户是没有密码的,所以我们来设置一下
mysql_secure_installation
_Enter current password for root (enter for none):_
# 输入当前 root 用户密码,默认为空,直接回车。
_Set root password? [Y/n] y_
# 要设置 root 密码吗?输入 y 表示愿意。
_Remove anonymous users? [Y/n] y_
# 要移除掉匿名用户吗?输入 y 表示愿意。
_Disallow root login remotely? [Y/n] y_
# 不想让 root 远程登陆吗?输入n 表示允许远程登录。
_Remove test database and access to it? [Y/n] y_
# 要去掉 test 数据库吗?输入 y 表示愿意。
_Reload privilege tables now? [Y/n] y_
# 想要重新加载权限吗?输入 y 表示愿意。
2、开启mysql
远程访问,让本地客户端能链接mysql
mysql -u root -p;
use mysql;
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
六、部署laravel
代码上传我们可以使用GIT
或者FTP
上传代码,具体不解释了。
Linux
需要添加文件执行权限,否则出500
错误,
cd /var/www
chmod -R 777 vendor/ storage/ bootstrap/cache/
然后我们访问域名即可查看我们的项目。
更多相关好文
-
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
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
Laravel Composer安装出现Class "Normalizer" not found