【傻瓜教程】CentOS 7 下 LNMP 环境搭建过程

本文介绍如何在CentOS7系统上安装并配置MariaDB、Nginx和PHP,形成一个完整的LAMP(Linux + Apache/Nginx + MySQL/MariaDB + PHP)环境。此外还介绍了多项目的配置方法及服务的开机自启动设置。

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

  

转载于:https://www.cnblogs.com/woffee/p/6805214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值