CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

前端之家收集整理的这篇文章主要介绍了CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

什么是LNMP

LNMP(别名LEMP)是指由Linux,Nginx,MysqL/MariaDB,PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站、博客、论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一。

部署方式

从网站规模大小(访问流量、注册用户)角度来看,LNMP架构可以使用单机部署方式和集群部署方式。单机部署方式即所有的软件都部署在一台Linux服务器上;集群部署方式可以将Nginx网络服务器,MysqL/MariaDB数据库PHP软件分开安装到不同的服务器上,它们彼此之间通过TCP网络协议相互通信协助工作,以及对外提供Web应用访问服务。因此,当单台服务器不能满足性能要求时,可以使用集群方式部署。

本教程将指导您如何在RHEL 7/CentOS 7以及Fedora 23/24/25等衍生版本中使用Nginx 1.10,MariaDB 10PHP 6安装LNMP应用服务器环境。(在其他系统如SUSEUbuntu中源码编译安装LNMP同样可以参考本教程。)


前提要求

准备2RHEL 7CentOS 7服务器,一台用于安装MariaDB,另一台用于安装NginxPHP。当然你也可以仅仅使用1台服务器部署LNMP以通过实验来验证LNMP

HOSTNAME IP OS NODE

hming-server217-mdb

10.0.6.217 CentOS 7.2 x86_64 MariaDB
hming-server218-web 10.0.6.218 CentOS 7.2 x86_64 MariaDB,PHP


主软件包(源码包)

DB mariadb-10.1.20.tar.gz

PHP PHP-5.6.30.tar.bz2

Nginx Nginx-1.10.2.tar.gz


注意:主软件包在这之前我已经提前下载好了,可能并不是最新和稳定版,你也可以根据你的需求选择其他版本。


依赖软件


源码编译安装LNMP有许多依赖软件(如gccmake)是必要的,一般可以通过YUM软件管理程序来安装,另外小部分需要源码编译安装。


通过yum安装gccgcc-c++make等必需软件包

#yuminstall-ygccgcc-c++makeautomake


安装MariaDB


1. 使用yum安装gccmakebisonncurses-devel等依赖软件包

#yuminstallzlib-develncursesncurses-develbison


2.安装cmakecmake是编译MysqL/MariaDB的必要工具(MysqL5.6/MariaDB 10及以后的版本) 你可以在网站https://cmake.org/中下载cmake软件包

将软件包上传/usr/local/src目录下,然后解压cmake包,cdcmake目录执行./bootstrap脚本进行安装,同时可以使用--prefix=<install dir>选项指定安装的目录。

#tar-zxfcmake-3.7.2.tar.gz
#cdcmake-3.7.2/
#./bootstrap--prefix=/usr/local/cmake
#make&&makeinstall


当安装完之后,你可以使用执行/usr/local/cmake/bin/cmake --version查看安装的cmake版本

[root@hming-server217-mdb~]#/usr/local/cmake/bin/cmake--version
cmakeversion3.7.2

CMakesuitemaintainedandsupportedbyKitware(kitware.com/cmake).


3.安装完cmake编译工具之后,接下来我们安装MariaDB(你可以访问https://mariadb.org/下载MariaDB),首先创建MariaDB安装目录/usr/local/MysqL数据库服务器的数据目录/data/MysqL/webdata,并创建MysqL用户,并将/data/MysqL/webdata目录的所属主权限修改MysqL用户


创建安装目录和数据目录

#mkdir/usr/local/MysqL
#mkdir/data/MysqL/webdata-p


创建MysqL用户,并修改数据目录的权限

#groupaddMysqL
#useradd-r-gMysqL-s/sbin/nologinMysqL-M
#chown-RMysqL:MysqL/data/MysqL/


4. 编译安装MariaDB,将MariaDB软件包解压后使用cmake进行编译,根据需求选择相应的编译参数进行编译(查看编译选项/usr/local/cmake/bin/cmake . -LH). (或者访问MariaDB编译安装帮助文档https://mariadb.com/kb/en/mariadb/compiling-mariadb-from-source/)

[root@hming-server217-mdb/usr/local/src]#tar-zxfmariadb-10.1.20.tar.gz
[root@hming-server217-mdb/usr/local/src]#cdmariadb-10.1.20/

[root@hming-server217-mdb/usr/local/src/mariadb-10.1.20]#/usr/local/cmake/bin/cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/MysqL-DMysqL_DATADIR=/data/MysqL/webdata-DSYSCONFDIR=/etc-DMysqL_TCP_PORT=3306-DMysqL_USER=MysqL-DDEFAULT_CHARSET=utf8-DEXTRA_CHARSETS=all-DDEFAULT_COLLATION=utf8_general_ci-DMysqL_UNIX_ADDR=/data/MysqL/webdata/MysqL.sock-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1-DENABLED_LOCAL_INFILE=1-DWITH_EMBEDDED_SERVER=1-DWITH_READLINE=1-DWITH_DEBUG=0


执行gmake gmake install进行最后的安装

[root@hming-server217-mdb/usr/local/src/mariadb-10.1.20]#gmake
[root@hming-server217-mdb/usr/local/src/mariadb-10.1.20]#gmakeinstall


5.配置MysqL环境变量,如果不配置默认系统找不到MysqL的可执行程序和命令,否则你必须使用全路径执行与MysqL相关的任何命令,查看系统默认的环境变量


使用export命令添加MysqL环境变量

[root@hming-server217-mdb~]#exportPATH=$PATH:/usr/local/MysqL/bin
[root@hming-server217-mdb~]#echo$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/MysqL/bin


最后将MysqL环境配置添加/etc/profile或者/etc/profile.d/自定义文件

[root@hming-server217-mdb~]#echo"exportPATH=$PATH:/usr/local/MysqL/bin">/etc/profile.d/MysqL.sh
[root@hming-server217-mdb~]#source/etc/profile.d/MysqL.sh


配置了环境变量,我们就可以直接在shell终端下执行MysqL命令,使用MysqL -V查看MysqL版本

[root@hming-server217-mdb~]#MysqL-V
MysqLVer15.1Distrib10.1.20-MariaDB,forLinux(x86_64)usingreadline5.1


6.添加MariaDB文件

[root@hming-server217-mdb~]#echo"/usr/local/MysqL/lib">>/etc/ld.so.conf.d/mariadb-x86_64.conf


7.拷贝MariaDB服务启动脚本到/etc/init.d/目录中

[root@hming-server217-mdb~]#cp/usr/local/MysqL/support-files/MysqL.server/etc/init.d/MysqLd
[root@hming-server217-mdb~]#chmod755/etc/init.d/MysqLd
[root@hming-server217-mdb~]#chkconfig--addMysqLd
[root@hming-server217-mdb~]#chkconfigMysqLdon
[root@hming-server217-mdb~]#systemctldaemon-reload


8. 执行初始化数据库脚本,安装MariaDB基础数据库(执行./MysqL_install_db --basedir=/usr/local/MysqL --datadir=/data/MysqL/webdata --user=MysqL --no-defaults)

[root@hming-server217-mdb~]#cd/usr/local/MysqL/scripts/
[root@hming-server217-mdb/usr/local/MysqL/scripts]#./MysqL_install_db--basedir=/usr/local/MysqL--datadir=/data/MysqL/webdata--user=MysqL--no-defaults
[root@hming-server217-mdb/usr/local/MysqL/scripts]#ls/data/MysqL/webdata/
aria_log.00000001ibdata1ib_logfile1performance_schema
aria_log_controlib_logfile0MysqLtest


9.配置/etc/my.cnf,该文件MysqL服务的主要配置文件

[root@hming-server217-mdb~]#cp/etc/my.cnf/etc/my.cnf.save
[root@hming-server217-mdb~]#cat/etc/my.cnf
[client]
port=3306
socket=/data/MysqL/webdata/MysqL.sock
default-character-set=utf8

[MysqLd]
port=3306
user=MysqL
basedir=/usr/local/MysqL
datadir=/data/MysqL/webdata
socket=/data/MysqL/webdata/MysqL.sock
character-set-server=utf8
external-locking=FALSE
skip-name-resolv
default-storage-engine=InnoDB
back_log=1024
transaction_isolation=REPEATABLE-READ
max_connections=5000
max_connect_errors=6000
open_files_limit=65535
table_open_cache=512

[MysqLdump]
quick
max_allowed_packet=32M

[MysqL]
no-auto-rehash
default-character-set=utf8

[MysqLd_safe]
open-files-limit=8192
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid


创建/var/log/mariadb/var/run/mariadb目录

[root@hming-server217-mdb~]#mkdir/var/log/mariadb
[root@hming-server217-mdb~]#mkdir/var/run/mariadb
[root@hming-server217-mdb~]#chownMysqL:MysqL/var/log/mariadb
[root@hming-server217-mdb~]#chownMysqL:MysqL/var/run/mariadb


10.启动MariaDB服务

[root@hming-server217-mdb~]#systemctlstartMysqLd
[root@hming-server217-mdb~]#systemctlstatusMysqLd

[root@hming-server217-mdb~]#systemctlstatusMysqLd
●MysqLd.service-LSB:startandstopMysqL
Loaded:loaded(/etc/rc.d/init.d/MysqLd)
Active:active(running)sinceFri2017-06-0223:53:09CST;3daysago
Docs:man:systemd-sysv-generator(8)
Process:27419ExecStop=/etc/rc.d/init.d/MysqLdstop(code=exited,status=0/SUCCESS)
Process:27449ExecStart=/etc/rc.d/init.d/MysqLdstart(code=exited,status=0/SUCCESS)
CGroup:/system.slice/MysqLd.service
├─27460/bin/sh/usr/local/MysqL/bin/MysqLd_safe--datadir=/data/MysqL/webdata--pid-file=/data/mysq...
└─27595/usr/local/MysqL/bin/MysqLd--basedir=/usr/local/MysqL--datadir=/data/MysqL/webdata--plugi...

Jun0223:53:08hming-server217-mdbsystemd[1]:StartingLSB:startandstopMysqL...
Jun0223:53:08hming-server217-mdbMysqLd[27449]:StartingMysqL.17060223:53:08MysqLd_safeLoggingto'/...og'.
Jun0223:53:09hming-server217-mdbMysqLd[27449]:SUCCESS!
Jun0223:53:09hming-server217-mdbsystemd[1]:StartedLSB:startandstopMysqL.
Hint:Somelineswereellipsized,use-ltoshowinfull.


查看MariaDB服务进程

[root@hming-server217-mdb~]#psaux|grepMysqL
root274600.00.01153801744?S23:530:00/bin/sh/usr/local/MysqL/bin/MysqLd_safe--datadir=/data/MysqL/webdata--pid-file=/data/MysqL/webdata/hming-server217-mdb.pid
MysqL275951.05.2120938099428?Sl23:530:00/usr/local/MysqL/bin/MysqLd--basedir=/usr/local/MysqL--datadir=/data/MysqL/webdata--plugin-dir=/usr/local/MysqL/lib/plugin--user=MysqL--log-error=/var/log/mariadb/mariadb.log--open-files-limit=8192--pid-file=/data/MysqL/webdata/hming-server217-mdb.pid--socket=/data/MysqL/webdata/MysqL.sock--port=3306
root276270.00.0112644952pts/2S+23:530:00grep--color=autoMysqL


11.执行MysqL_secure_installation初始化数据库,设MysqL用户root密码

[root@hming-server217-mdb~]#MysqL_secure_installation

NOTE:RUNNINGALLPARTSOFTHISSCRIPTISRECOMMENDEDFORALLMariaDB
SERVERSINPRODUCTIONUSE!PLEASEREADEACHSTEPCAREFULLY!

InordertologintoMariaDBtosecureit,we'llneedthecurrent
passwordfortherootuser.Ifyou'vejustinstalledMariaDB,and
youhaven'tsettherootpasswordyet,thepasswordwillbeblank,soyoushouldjustpressenterhere.

Entercurrentpasswordforroot(enterfornone):
OK,successfullyusedpassword,movingon...

SettingtherootpasswordensuresthatnobodycanlogintotheMariaDB
rootuserwithouttheproperauthorisation.

Setrootpassword?[Y/n]y
Newpassword:
Re-enternewpassword:
Passwordupdatedsuccessfully!
Reloadingprivilegetables..
...Success!


Bydefault,aMariaDBinstallationhasananonymoususer,allowinganyone
tologintoMariaDBwithouthavingtohaveauseraccountcreatedfor
them.Thisisintendedonlyfortesting,andtomaketheinstallation
goabitsmoother.Youshouldremovethembeforemovingintoa
productionenvironment.

Removeanonymoususers?[Y/n]y
...Success!

Normally,rootshouldonlybeallowedtoconnectfrom'localhost'.This
ensuresthatsomeonecannotguessattherootpasswordfromthenetwork.

Disallowrootloginremotely?[Y/n]y
...Success!

Bydefault,MariaDBcomeswithadatabasenamed'test'thatanyonecan
access.Thisisalsointendedonlyfortesting,andshouldberemoved
beforemovingintoaproductionenvironment.

Removetestdatabaseandaccesstoit?[Y/n]y
-Droppingtestdatabase...
...Success!
-Removingprivilegesontestdatabase...
...Success!

Reloadingtheprivilegetableswillensurethatallchangesmadesofar
willtakeeffectimmediately.

Reloadprivilegetablesnow?[Y/n]y
...Success!

Cleaningup...

Alldone!Ifyou'vecompletedalloftheabovesteps,yourMariaDB
installationshouldnowbesecure.

ThanksforusingMariaDB!


12.登录MariaDB数据库

[root@hming-server217-mdb~]#MysqL-uroot-p
Enterpassword:
WelcometotheMariaDBmonitor.Commandsendwith;or\g.
YourMariaDBconnectionidis353
Serverversion:10.1.20-MariaDBSourcedistribution

Copyright(c)2000,2016,Oracle,MariaDBCorporationAbandothers.

Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.

MariaDB[(none)]>selectversion();
+-----------------+
|version()|
+-----------------+
|10.1.20-MariaDB|
+-----------------+
1rowinset(0.00sec)

MariaDB[(none)]>


安装Nginx


1.安装依赖软件包

[root@hming-server218-web~]#yuminstallgccgcc-c++zlibzlib-develpcrepcre-developenssl-develgdgd-develperl-develperl-ExtUtils-Embed


2.创建Nginx用户

[root@hming-server218-web~]#groupaddNginx
[root@hming-server218-web~]#useradd-gNginx-s/sbin/nologinNginx-M


3. 编译安装Nginx

[root@hming-server218-web/usr/local/src]#tar-zxfNginx-1.10.2.tar.gz
[root@hming-server218-web/usr/local/src]#cdNginx-1.10.2/
[root@hming-server218-web/usr/local/src/Nginx-1.10.2]#./configure\
--user=Nginx\
--group=Nginx\
--prefix=/usr/local/Nginx\
--pid-path=/var/run/Nginx/Nginx.pid\
--lock-path=/var/lock/subsys/Nginx\
--with-http_stub_status_module\
--with-pcre\
--with-http_ssl_module\
--with-mail_ssl_module\
--with-http_gzip_static_module\
--http-log-path=/var/log/Nginx/access.log\
--error-log-path=/var/log/Nginx/error.log\
--http-client-body-temp-path=/tmp/Nginx/client_body\
--http-proxy-temp-path=/tmp/Nginx/proxy\
--http-fastcgi-temp-path=/tmp/Nginx/fastcgi\
--http-uwsgi-temp-path=/tmp/Nginx/uwsgi\
--with-http_degradation_module\
--with-http_realip_module\
--with-http_addition_module\
--with-http_sub_module\
--with-http_perl_module\
--with-http_image_filter_module=dynamic\
--with-http_flv_module

[root@hming-server218-web/usr/local/src/Nginx-1.10.2]#make&&makeinstall


4. 启动Nginx服务

[root@hming-server218-web~]#ln-s/usr/local/Nginx/sbin/Nginx/usr/local/sbin/
[root@hming-server218-web~]#mkdir/tmp/Nginx
[root@hming-server218-web~]#Nginx
[root@hming-server218-web~]#ps-ef|grepNginx
root279131000:49?00:00:00Nginx:masterprocessNginx
Nginx2791427913000:49?00:00:00Nginx:workerprocess
root2792322381000:49pts/100:00:00grep--color=autoNginx

5.添加防火墙

[root@hming-server218-web~]#firewall-cmd--permanent--add-port=80/tcp
success
[root@hming-server218-web~]#firewall-cmd--reload
success


6. 通过客户端访问http://10.0.6.218

wKiom1k1KC6TnB5QAAAswLN_yC0724.png


安装PHP


  1. 安装依赖软件包

[root@hming-server218-web~]#yuminstallgccgcc-c++libtoollibxslt-devellibpnglibpng-develbzip2bzip2-devellibxml2-devellibXpm-devellibcurl-develcurllibmcryptexpatlibxsltfreetypefreetype-devellibmcrypt-develautoconflibpngzlib-develzlibnet-snmpnet-snmp-devel

2.安装libiconv

[root@hming-server218-web~]#tar-zxflibiconv-1.15.tar.gz
[root@hming-server218-web~]#cdlibiconv-1.15/
[root@hming-server218-web~/libiconv-1.15]#./configure--prefix=/usr/local/libiconv
[root@hming-server218-web~/libiconv-1.15]#make&&makeinstall
[root@hming-server218-web~]#echo"/usr/local/libiconv/lib">>/etc/ld.so.conf
[root@hming-server218-web~]#ldconfig


3.安装libmcrypt

[root@hming-server218-web~]#tar-jxflibmcrypt-2.5.8.tar.bz2
[root@hming-server218-web~]#cdlibmcrypt-2.5.8/
[root@hming-server218-web~/libmcrypt-2.5.8]#./configure--prefix=/usr/local/libmcrypt
[root@hming-server218-web~/libmcrypt-2.5.8]#make&&makeinstall

4. 安装 jpeg

#tar-zxfjpegsrc.v9b.tar.gz
#cdjpeg-9b/
#mkdir/usr/local/jpeg9&&mkdir/usr/local/jpeg9/{bin,lib,include}
#mkdir/usr/local/jpeg9/man/man1-p
#cp-rf/usr/share/libtool/config/config.sub.&&cp-rf/usr/share/libtool/config/config.guess.
cp:overwrite\u2018./config.sub\u2019?y
cp:overwrite\u2018./config.guess\u2019?y
#./configure--prefix=/usr/local/jpeg9--enable-shared--enable-static
#make&&makeinstall


5.安装libgd

[root@hming-server218-web~]#tar-zxflibgd-2.2.3.tar.gz
[root@hming-server218-web~]#cdlibgd-2.2.3/
[root@hming-server218-web~/libgd-2.2.3]#./configure--prefix=/usr/local/libgd2--with-zlib--with-jpeg=/usr/local/jpeg9--with-png--with-freetype
[root@hming-server218-web~/libgd-2.2.3]#make&&makeinstall


6. 编译安装PHP

[root@hming-server218-web~]#groupaddPHP-fpm
[root@hming-server218-web~]#useradd-gPHP-fpm-s/sbin/nologinPHP-fpm-M
[root@hming-server218-web~]#tar-jxfPHP-5.6.30.tar.bz2
[root@hming-server218-web~]#cdPHP-5.6.30/
[root@hming-server218-web~]#./configure\
--prefix=/usr/local/PHP\
--with-config-file-path=/usr/local/PHP/etc\
--enable-fpm\
--with-fpm-user=PHP-fpm\
--with-fpm-group=PHP-fpm\
--with-MysqL=/usr/local/MysqL\
--with-MysqLi=/usr/local/MysqL/bin/MysqL_config\
--with-jpeg-dir=/usr/local/jpeg9\
--with-mcrypt=/usr/local/libmcrypt\
--with-gd=/usr/local/libgd2\
--with-iconv-dir=/usr/local/libiconv\
--with-openssl-dir\
--with-freetype-dir\
--with-libxml-dir\
--with-png-dir\
--with-zlib\
--with-curl\
--with-mhash\
--with-pear\
--with-pcre-dir\
--with-gettext\
--enable-soap\
--enable-gd-native-ttf\
--enable-mbstring\
--enable-exif\
--enable-sockets\
--enable-ftp\
--disable-ipv6\
--enable-bcmath\
--enable-shmop\
--with-snmp\
--enable-sysvsem

[root@hming-server218-web~/PHP-5.6.30]#make
[root@hming-server218-web~/PHP-5.6.30]#maketest
[root@hming-server218-web~/PHP-5.6.30]#makeinstall


7.拷贝PHP.ini配置文件

[root@hming-server218-web~/PHP-5.6.30]#cpPHP.ini-production/usr/local/PHP/etc/PHP.ini


8.修改PHP-fpm.conf配置文件

[root@hming-server218-web~]#vim/usr/local/PHP/etc/PHP-fpm.conf
[global]
pid=/usr/local/PHP/var/run/PHP-fpm.pid
error_log=/usr/local/PHP/var/log/PHP-fpm.log
[www]
listen=/var/lib/PHP/PHP-fcgi.sock
user=PHP-fpm
group=PHP-fpm
listen.owner=Nginx
listen.group=Nginx
pm=dynamic
pm.max_children=100
pm.start_servers=20
pm.min_spare_servers=5
pm.max_spare_servers=35
pm.max_requests=500
rlimit_files=1024

9. 检查配置

[root@hming-server218-web~]#/usr/local/PHP/sbin/PHP-fpm-t
[05-Jun-201720:23:27]NOTICE:configurationfile/usr/local/PHP/etc/PHP-fpm.conftestissuccessful


10.拷贝启动脚本

[root@hming-server218-web~]#cpPHP-5.6.30/sapi/fpm/init.d.PHP-fpm/etc/init.d/PHP-fpm
[root@hming-server218-web~]#chmod755/etc/init.d/PHP-fpm
[root@hming-server218-web~]#/etc/init.d/PHP-fpmstart
StartingPHP-fpmdone


测试Nginx是否正常解析PHP脚本

1. 修改Nginx.conf配置文件

userNginxNginx;
worker_processes4;
error_log/var/log/Nginx/error.lognotice;
pid/var/run/Nginx/Nginx.pid;
worker_rlimit_nofile65535;

events{
useepoll;
worker_connections65535;
}

http{
includemime.types;
default_typeapplication/octet-stream;
server_names_hash_bucket_size2048;
server_names_hash_max_size4096;

log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent""$http_x_forwarded_for"';

access_log/var/log/Nginx/access.logmain;

sendfileon;
tcp_nopushon;
tcp_nodelayon;
keepalive_timeout65;

client_header_timeout30;
client_body_timeout3m;
client_max_body_size10m;
client_body_buffer_size256k;

send_timeout3m;
connection_pool_size256;
client_header_buffer_size32k;
large_client_header_buffers464k;
request_pool_size4k;
output_buffers432k;
postpone_output1460;

client_body_temp_path/tmp/Nginx/client_body;
proxy_temp_path/tmp/Nginx/proxy;
fastcgi_temp_path/tmp/Nginx/fastcgi;

gzipon;
gzip_min_length1k;
gzip_buffers416k;
gzip_comp_level3;
gzip_http_version1.1;
gzip_typestext/plainapplication/x-javascripttext/csstext/htmapplication/xml;
gzip_varyon;

fastcgi_connect_timeout300;
fastcgi_send_timeout300;
fastcgi_read_timeout300;
fastcgi_buffer_size64k;
fastcgi_buffers464k;
fastcgi_busy_buffers_size128k;
fastcgi_temp_file_write_size128k;
fastcgi_intercept_errorson;

server{
listen80;
server_name10.0.6.218;
charsetUTF8;
indexindex.htmlindex.htmindex.PHPindex.jsp;
root/usr/local/Nginx/html;

#access_loglogs/host.access.logmain;

location/{
roothtml;
indexindex.htmlindex.htm;
}

#redirectservererrorpagestothestaticpage/50x.html
error_page500502503504/50x.html;
location=/50x.html{
roothtml;
}

#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000
location~\.PHP${
roothtml;
fastcgi_passunix:/var/lib/PHP/PHP-fcgi.sock;
fastcgi_indexindex.PHP;
fastcgi_paramSCRIPT_FILENAME/usr/local/Nginx/html$fastcgi_script_name;
includefastcgi_params;
}

}

}


2.测试Nginx配置文件语法是否存在错误

[root@hming-server218-web~]#Nginx-t
Nginx:theconfigurationfile/usr/local/Nginx/conf/Nginx.confSyntaxisok
Nginx:configurationfile/usr/local/Nginx/conf/Nginx.conftestissuccessful


3. 创建测试解析PHP脚本

[root@hming-server218-web~]#vim/usr/local/Nginx/html/info.PHP
<?PHP
PHPinfo();
?>

[root@hming-server218-web~]#Nginx-sreload

4. 访问http://10.0.6.218/info.PHP

wKiom1k1LIfS7zXJAABr6LciKjA175.png

注意:该测试脚本仅用于我们查看当前安装的PHP支持的模块信息,在测试之后应当立即删除


安装PHPMyAdmin

PHPMyAdmin是一个使用PHP语言编写的免费软件,旨在通过Web界面管理MysqL数据库PHPMyAdmin支持MysqLMariaDB上的各种操作。用户可以通过Web界面执行数据库的常用操作(数据库管理,,字段,索引,用户,权限,视图,函数),以及直接执行任何sql语句。


1.创建PHPMyAdmin Web目录

[root@hming-server218-web~]#mkdir/app/data/PHPMyAdmin-p

2.PHPMyAdmin软件包解压到/app/data/PHPMyAdmin 目录下

#tar-zxfPHPMyAdmin-4.7.1-all-languages.tar.gz
#cp-arPHPMyAdmin-4.7.1-all-languages/*/app/data/PHPMyAdmin/
#chown-RNginx:Nginx/app/data/PHPMyAdmin
#chown-RPHP-fpm:PHP-fpm/app/data/PHPMyAdmin


3.修改Nginx配置,创建一个server虚拟机配置文件

http{
......
#PHPMyAdmin
server{
listen8000;
server_name10.0.6.218;
charsetUTF8;
indexindex.htmlindex.htmindex.PHPindex.jsp;
root/app/data;
access_log/var/log/Nginx/PHPMyAdmin.logmain;

location/PHPMyAdmin/{
indexindex.htmlindex.htmindex.PHP;
}

location~\.PHP${
fastcgi_passunix:/var/lib/PHP/PHP-fcgi.sock;
fastcgi_indexindex.PHP;
fastcgi_paramSCRIPT_FILENAME/app/data$fastcgi_script_name;
includefastcgi_params;
}
}
}


4.创建数据库root用户权限,允许PHP服务器使用root用户管理数据服务器

[root@hming-server217-mdb~]#MysqL-uroot-p
Enterpassword:
WelcometotheMariaDBmonitor.Commandsendwith;or\g.
YourMariaDBconnectionidis13
Serverversion:10.1.20-MariaDBSourcedistribution

Copyright(c)2000,MariaDBCorporationAbandothers.

Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement.

MariaDB[(none)]>selectuser,host,passwordfromMysqL.user;
+------+-----------+-------------------------------------------+
|user|host|password|
+------+-----------+-------------------------------------------+
|root|localhost|*84BB5DF4823DA319BBF86C99624479A198E6EEE9|
|root|127.0.0.1|*84BB5DF4823DA319BBF86C99624479A198E6EEE9|
|root|::1|*84BB5DF4823DA319BBF86C99624479A198E6EEE9|
+------+-----------+-------------------------------------------+
3rowsinset(0.00sec)

MariaDB[(none)]>grantallprivilegeson*.*to'root'@'10.0.6.218'identifiedby'PHPMyAdmin_123';
QueryOK,0rowsaffected(0.00sec)

MariaDB[(none)]>flushprivileges;
QueryOK,0rowsaffected(0.00sec)


5. 配置防火墙规则

#iptables-IINPUT-ptcp--dport3306-s10.0.6.0/24-jACCEPT

或者

#firewall-cmd--permanent--add-rich-rule'rulefamily=ipv4sourceaddress=10.0.6.0/24portport=3306protocol=tcpaccept'


6.修改PHPMyAdmin配置文件

#cp/app/data/PHPMyAdmin/libraries/config.default.PHP/app/data/PHPMyAdmin/libraries/config.default.PHP.save
#vim/app/data/PHPMyAdmin/libraries/config.default.PHP

/**
*The'cookie'auth_typeuseSAESalgorithmtoencryptthepassword.If
*atleastoneserverconfigurationuses'cookie'auth_type,enterherea
*passphrasethatwillbeusedbyAES.Themaximumlengthseemstobe46
*characters.
*
*@globalstring$cfg['blowfish_secret']
*/
$cfg['blowfish_secret']='123456';


/**
*MysqLhostnameorIPaddress
*
*@globalstring$cfg['Servers'][$i]['host']
*/
$cfg['Servers'][$i]['host']='10.0.6.217';

/**
*MysqLport-leaveblankfordefaultport
*
*@globalstring$cfg['Servers'][$i]['port']
*/
$cfg['Servers'][$i]['port']='3306';

/**
*Pathtothesocket-leaveblankfordefaultsocket
*
*@globalstring$cfg['Servers'][$i]['socket']
*/
$cfg['Servers'][$i]['socket']='';


/**
*Authenticationmethod(validchoices:config,http,signonorcookie)
*
*@globalstring$cfg['Servers'][$i]['auth_type']
*/
$cfg['Servers'][$i]['auth_type']='cookie';

/**
*HTTPBasicAuthRealmnametodisplay(onlyusedwith'HTTP'auth_type)
*
*@globalstring$cfg['Servers'][$i]['auth_http_realm']
*/
$cfg['Servers'][$i]['auth_http_realm']='';

/**
*MysqLuser
*
*@globalstring$cfg['Servers'][$i]['user']
*/
$cfg['Servers'][$i]['user']='root';

/**
*MysqLpassword(onlyneededwith'config'auth_type)
*
*@globalstring$cfg['Servers'][$i]['password']
*/
$cfg['Servers'][$i]['password']='PHPMyAdmin_123';


7. 登录PHPMyAdmin Web管理界面,打开http://10.0.6.218:8000/PHPMyAdmin/

wKioL1k1LtOjYflAAABRSY9XMcY416.png


输入数据库用户和密码

wKiom1k1LvuwWYS4AAC226Qplhw248.png


测试创建数据库

wKioL1k1LyaAiOBjAACQXd-EbIA418.png

wKioL1k1LzbjDUlwAABzorjVTrg315.png

猜你在找的CentOS相关文章