woffee

1、安装MariaDB

CentOS 7 下,推荐使用MariaDB(MySQL的一种开源分支),且建议用yum安装。

安装命令

yum -y install mariadb mariadb-server 

安装完成MariaDB,首先启动MariaDB

systemctl start mariadb

设置开机启动

systemctl enable mariadb

接下来进行MariaDB的相关简单配置

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车, Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车 Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -u root -p password

完成。

2、安装Nginx

yum -y install gcc pcre-devel zlib-devel
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1/ 
./configure
make && make install

3、安装PHP

(1)安装前执行下列命令

添加组

groupadd www

添加php-fpm用户

useradd -c php-fpm-user -g www -M php-fpm

c和c++编译器

yum install -y gcc gcc-c++

PHP扩展依赖

yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel

(2)下载及解压

tar -jxvf php-7.0.13.tar.bz2
cd php-7.0.13

(3)编译指令 (prefix自行修改)

./configure --prefix=/usr/local/php7\
--with-config-file-path=/usr/local/php7/etc\
--with-libdir=lib64\
--enable-fpm\
--with-fpm-user=php-fpm\
--with-fpm-group=www\
--enable-mysqlnd\
--with-mysql=mysqlnd\
--with-mysqli=mysqlnd\
--with-pdo-mysql=mysqlnd\
--enable-opcache\
--enable-pcntl\
--enable-mbstring\
--enable-soap\
--enable-zip\
--enable-calendar\
--enable-bcmath\
--enable-exif\
--enable-ftp\
--enable-intl\
--with-openssl\
--with-zlib\
--with-curl\
--with-gd\
--with-zlib-dir=/usr/lib\
--with-png-dir=/usr/lib\
--with-jpeg-dir=/usr/lib\
--with-gettext\
--with-mhash\
--with-ldap
make && make install

(4)然后创建配置文件,并将其复制到正确的位置(编译时可指定)。

cp php.ini-development /usr/local/php7/etc/php.ini
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

(5)启动 php-fpm 服务

/usr/local/php7/sbin/php-fpm

如果要关闭php-fpm服务,杀掉进程

pkill php-fpm

(6)配置 Nginx 使其支持 PHP 应用

vi /usr/local/nginx/conf/nginx.conf

修改默认的 location 块,使其支持 .php 文件 (博主按个人习惯更改了root目录为/home/www)

location / {
  root /home/www;
  index index.php index.html index.htm;
}

下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释, 并修改为下面的内容:

location ~* \.php$ {
  root /home/www;
  fastcgi_index index.php;
  fastcgi_pass 127.0.0.1:9000;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}

启动nginx

/usr/local/nginx/sbin/nginx

(7)编写测试文件 index.php 测试

<?php
print_r( phpinfo() );
print_r( get_loaded_extensions() );

OK,搭建完成。

4.多项目环境

在nginx配置文件中,最外面的大括号里面(也即是倒数第二行)添加下面这句代码:

include /etc/nginx/conf.d/*.conf;

每个.conf文件类似于:

server {
    listen      80;
    server_name example.example.com;

    set         $root_path /home/www/example/public;
    root        $root_path;

    index       index.html index.php;
    try_files   $uri $uri/ @rewrite;

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ^~ /album {
        break;
    }

    location ~\.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param   PATH_INFO $fastcgi_path_info;
        fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;

        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include         fastcgi_params;
    }
}

这样就可以通过不同的example.example.com访问不同的example项目。

分类:

技术点:

相关文章: