CentOS 7安装 LNMP(Linux+Nginx+MariaDB+PHP) - AFF大佬 - 提供主机优惠信息深度测评和服务器运维编程技术
当前位置: 主页 » 技术干货 » CentOS 7安装 LNMP(Linux+Nginx+MariaDB+PHP)

CentOS 7安装 LNMP(Linux+Nginx+MariaDB+PHP)

      2017年07月11日   阅读 318 次     0 评论   Tags: · · ·

update: 2017-12-19 PHP7.2.0开始移除mcrypt模块,移除libmcrypt、libmcrypt-devel、mcrypt包和相应的PHP编译–enable-gd-native-ttf 和–with-mcrypt参数。
安装mcrypt参考:编译安装的PHP7.2如何安装mcrypt扩展


1、安装EPEL源

yum -y install epel-release.noarch

1.1、安装相关依赖包:

yum -y install gcc gcc-c++ make cmake perl autoconf automake libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel openssl openssl-devel pcre pcre-devel libtool pcre-devel libaio-devel libaio bzip2-devel libcurl-devel gd-devel bison bison-devel mhash

1.2、更新系统

yum -y update

1.3、设置系统时间

timedatectl set-timezone Asia/Hong_Kong timedatectl

2、添加nginx stable(稳定版)源 ,在http://nginx.org/packages/centos/7/noarch/RPMS/ 查看最新库信息


Centos7 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Centos6
rpm -Uvh  http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

2.1、添加nginx mainline(长期开发版)源

[root@ImmenseGargantuan-VM ~]# vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 2.2、安装nginx,nginx启动和自启动 yum -y install nginx systemctl enable nginx.service systemctl start nginx.service nginx配置文件位置(配置文件都是一样的) nginx主配置文件:/etc/nginx/nginx.conf nginx默认配置文件目录:/etc/nginx/conf.d/ nginx默认站点主目录:/usr/share/nginx/html/ nginx默认日志目录:/var/log/nginx/

3、建mariadb源



vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1



3.1、安装mariadb

yum install -y MariaDB-server MariaDB-client MariaDB-devel jemalloc 启动和自启动 systemctl start mariadb.service systemctl enable mariadb.service

4、安装PHP



wget http://php.net/distributions/php-7.0.7.tar.gz

tar xf php-7.0.7.tar.gz

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc  --disable-fileinfo --with-pdo-mysql=mysqlnd --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --without-pdo-sqlite --without-sqlite3 --with-pcre-dir && make && make install

或者使用下面这个编译:

./configure  --prefix=/usr/local/php --exec-prefix=/usr/local/php  --bindir=/usr/local/php/bin  --sbindir=/usr/local/php/sbin  --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php  --mandir=/usr/local/php/php/man  --with-config-file-path=/usr/local/php/etc  --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mhash  --with-openssl --with-pdo-mysql=shared,mysqlnd  --without-sqlite3 --without-pdo-sqlite --with-gd  --with-iconv  --with-zlib  --enable-zip  --enable-inline-optimization  --disable-debug  --disable-rpath  --enable-shared  --enable-xml  --enable-bcmath  --enable-shmop  --enable-sysvsem  --enable-mbregex  --enable-mbstring  --enable-ftp --enable-pcntl  --enable-sockets  --with-xmlrpc --enable-soap  --without-pear  --with-gettext  --enable-session  --with-curl  --with-jpeg-dir  --with-freetype-dir  --enable-opcache  --enable-fpm --with-fpm-user=nobody  --with-fpm-group=nobody  --without-gdbm  --enable-fast-install --disable-fileinfo && make && make install


cp php.ini-production /usr/local/php/etc/php.ini
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d
cp www.conf.default www.conf


创建php-fpm控制脚本
vi /lib/systemd/system/php-fpm.service

[Unit]
Description=The PHP 7 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target


添加PHP-fpm自启动和启动
systemctl enable php-fpm.service 
systemctl start php-fpm.service 

UPDATE:2017/7/11,PHP7已经自带了CENTOS 7的启动脚本不需要重写脚本,直接复制就可以了:

CENTOS 6
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

CENTOS 7
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

PHP编译参数详解:

 ./configure \
--prefix=/usr/local/php \                               [php安装的根目录]
--exec-prefix=/usr/local/php \                          [php执行文件所在目录]
--bindir=/usr/local/php/bin \                           [php/bin目录]
--sbindir=/usr/local/php/sbin \                         [php/sbin目录]
--includedir=/usr/local/php/include \                   [php包含文件所在目录]
--libdir=/usr/local/php/lib/php \                       [php/lib目录]
--mandir=/usr/local/php/php/man \                       [php/man目录]
--with-config-file-path=/usr/local/php/etc \            [php的配置目录]
--with-mysql-sock=/var/run/mysql/mysql.sock \           [php的Unix socket通信文件]
--with-mcrypt \                                         [是php里面重要的加密支持扩展库,linux环境下该库在默认情况下不开启]
--with-mhash \                                          [Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启]
--with-openssl \                                        [OpenSSL 是一个安全套接字层密码库]
--with-mysqli=shared,mysqlnd \                          [php依赖mysql库]
--with-pdo-mysql=shared,mysqlnd \                       [php依赖mysql库]
--with-gd \                                             [gd库]                                               
--with-iconv \                                          [关闭iconv函数,种字符集间的转换]                        
--with-zlib \                                           [zlib是提供数据压缩用的函式库]
--enable-zip \                                          [打开对zip的支持]
--enable-inline-optimization \                          [优化线程]
--disable-debug \                                       [关闭调试模式]
--disable-rpath \                                       [关闭额外的运行库文件]
--enable-shared \                                       [启用动态库]
--enable-xml \                                          [开启xml扩展]
--enable-bcmath \                                       [打开图片大小调整,用到zabbix监控的时候用到了这个模块]
--enable-shmop \                                        [共享内存]
--enable-sysvsem \                                      [内存共享方案]
--enable-mbregex \                                      [开启多字节正则表达式的字符编码。]
--enable-mbstring \                                     [开启多字节字符串函数]
--enable-ftp \                                          [开启ftp]
--enable-gd-native-ttf \                                [开启gd库原有字体]
--enable-pcntl \                                        [PHP的进程控制支持实现了Unix方式的多进程创建]     
--enable-sockets \                                      [开启套节字]
--with-xmlrpc \                                         [打开xml-rpc的c语言]
--enable-soap \                                         [开启简单对象访问协议简单对象访问协议]
--without-pear \                                        [开启php扩展与应用库]
--with-gettext \                                        [开户php在当前域中查找消息]
--enable-session \                                      [允许php会话session]
--with-curl \                                           [允许curl扩展]
--with-jpeg-dir \                                       [指定jpeg安装目录yum安装过后不用再次指定会自动找到]
--with-freetype-dir \                                   [指定freetype安装目录yum安装过后不用再次指定会自动找到]
--enable-opcache \                                      [开启使用opcache缓存]
--enable-fpm \                                          [开启fpm]
--with-fpm-user=nginx \                                 [php-fpm的用户]
--with-fpm-group=nginx \                                [php-fpm的用户组]
--without-gdbm \                                        [数据库函数使用可扩展散列和类似于标准UNIX dbm的工作]
--enable-fast-install \                                 [为快速安装优化]

  • 版权声明:本文版权归AFF大佬和原作者所有,未经许可不得转载。文章部分来源于网络仅代表作者看法,如有不同观点,欢迎进行交流。除非注明,文章均由 AFF大佬 整理发布,欢迎转载,转载请带版权。

  • 来源:AFF大佬 ( https://www.affdalao.com/ ),提供主机优惠信息深度测评和服务器运维编程技术。
  • 链接:https://www.affdalao.com/6.html
  • 评论(0

    1. 还没有任何评论,你来说两句吧

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注