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项目。 ?
5.开机自启动
修改 /etc/rc.d/rc.local 这个文件:
将上述启动的命令加到里面就行了
/usr/local/nginx/sbin/nginx /usr/local/php7/sbin/php-fpm