一. 安装仓库
为了可以使用 CentOS 系统的包管理工具去安装更多的东西,我们需要单独安装一些额外的软件仓库。
EPELsudo yum install epel-release -y
IUSsudo 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 地址,或者指向这个地址的域名访问服务器指定的目录了。
三. 配置 nginx 虚拟主机
安装完 nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。达到服务器多站点访问的效果cd /etc/nginx/conf.d
接下来我们配置多站点,我这里只做了一个,你可以复制如下方法达到多站点的效果vim test.bbs.com.conf
然后进入编辑模式(大写的I),粘贴如下代码,server_name为你的域名root为访问文件夹
server {
listen 80;
server_name test.httproot.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
四. 安装PHP7
要让 nginx 能够执行 php 文件,需要去安装一下 php-fpm,我要安装的是比较新的 PHP 7 ,这个软件包可以在 IUS 仓库里找到,所以刚才让你先安装了 IUS 仓库。
sudo yum install php70u-fpm -y #安装php7
sudo systemctl start php-fpm # 重启php7
sudo systemctl enable php-fpm #开机启动
为了可以正常运行一般的 PHP 应用,你需要再安装一些其它的 PHP 扩展,通常你在安装 PHP 应用,比如 WordPress,Drupal,Laravel 的时候,都会提示你缺少的 PHP 扩展。下面是一些常用的 PHP 扩展:
sudo yum install php70u-gd php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml php70u-cli -y
接下来重启一下phpsudo systemctl reload php-fpm
现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 index.php,然后在这个文件里输入:
<?php
phpinfo();
?>
访问test.earnp.com就能看到php的具体信息,你也是输入你自己配置的域名哈
五. 安装 MySQL / MariaDB
MySQL 与 MariaDB 是相互兼容的,现在社区推荐使用 MariaDB,所以我们可以去安装一下 MariaDB ,用它代替 MySQL 。sudo yum install mariadb101u-server -y
如果出现冲突的提示,是因为系统本身自带 MariaDB,我们需要先删除掉系统本身带的,才能正常安装比较新的。一般可以这样来删除(不报错跳过):sudo yum remove mariadb-libs -y
重启mysql/mariadbsudo 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 表示愿意。
开启mysql远程访问,让本地客户端能链接mysql(可以不开启)
mysql -u root -p;
use mysql;
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
描述在开头文章里都有,这里就不解释了,注意,代码中password为你个人设置的密码
六. 部署laravel
我们这里使用git 来做一个代码仓库,想了解更多可以查看Git 使用Coding轻松打造团队协作,以及轻松部署程序好的,我们克隆下代码到上面设置的/var/www/laravel下,我们先来安装gityum install git
克隆代码到/var/www/laravel下
cd /var/www
git clone https://git.coding.net/laravel.git
添加文件权限,否则出500错误哦
cd /var/www
chmod -R 777 vendor/ storage/ bootstrap/cache/
好的,到这里我们的项目配置成功了
composer 安装
curl -sS https://getcomposer.org/installer | php
运行结果如下
All settings correct for using Composer
Downloading...
Composer successfully installed to: /root/composer.phar
Use it: php composer.phar
mv composer.phar /usr/local/bin/composer
composer -V