大佬教程收集整理的这篇文章主要介绍了CentOS7.4中搭建lnmp环境,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
主机名 |
系统版本 |
IP地址 |
软件版本 |
web01 |
CentOS7.4 |
172.16.1.107 |
Nginx-1.12.2.tar.gz |
db01 |
CentOS7.4 |
172.16.1.51 |
MysqL-boost-5.7.22.tar.gz |
tar xf Nginx-1.12.2.tar.gz
cd Nginx-1.12.2/
yum -y install pcre-devel openssl-devel
useradd -s /sbin/nologin -M www
./configure --prefix=/application/Nginx-1.12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
@H_536_64@make @H_536_64@make installln -s /application/Nginx-1.12.2 /application/Nginx
echo "PATH=$PATH:/application/Nginx/sbin/" >>/etc/profile
source /etc/profile
yum -y install libxml2-devel curl-devel openjpeg openjpeg-devel openjpeg-libs libjpeg libpng freetype libjpeg libpng-devel freetype-devel mcrypt PHP-mcrypt libmcrypt libmcrypt-devel libxslt-devel*
cd PHP-7.1.18/
./configure --prefix=/application/PHP-7.1.18 \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-MysqLi \
--with-openssl \
--with-pcre-regex \
--with-pdo-MysqL \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbString \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
@H_536_64@make @H_536_64@make installcp PHP.ini-production /application/PHP-7.1.18/lib/PHP.ini
cp sapi/fpm/init.d.PHP-fpm /etc/init.d/PHP-fpm
chmod +x /etc/init.d/PHP-fpm
cp /application/PHP-7.1.18/etc/PHP-fpm.conf.default /application/PHP-7.1.18/etc/PHP-fpm.conf
cp /application/PHP-7.1.18/etc/PHP-fpm.d/www.conf.default /application/PHP-7.1.18/etc/PHP-fpm.d/www.conf
ln -s /application/PHP-7.1.18/ /application/PHP
启动PHP服务
方法一
# /etc/init.d/PHP-fpm start
方法二
# /application/PHP-7.1.18/sbin/PHP-fpm
# egrep -v "#|^$" /application/Nginx/conf/Nginx.conf.default >/application/Nginx/conf/Nginx.conf
# cat /application/Nginx/conf/Nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
server {
server_name localhost;
LOCATIOn ~* .*\.(PHP|PHP5)?$ {
include fastcgi.conf;
error_page 500 502 503 504 /50x.html;
}
}
# cat /application/Nginx/html/PHPinfo.PHP
<?PHP
?>
浏览器输入http://10.0.0.107/PHPinfo.PHP,查看能否正常显示PHP信息的页面
在db01上操作
# rpm -qa|grep mariadb
@H_536_64@mariadb-libs-5.5.56-2.el7.x86_64# rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
# yum install libaio-devel ncurses-devel cmake gcc gcc-c++ bison -y
# mkdir -p /application/MysqL/tmp -p
# mkdir -p /application/MysqL/log -p
# useradd -s /sbin/nologin -M MysqL
# cd /server/tools/
解压MysqL-boost-5.7.22.tar.gz包,该包里包含了boost包和MysqL包,从MysqL 5.7.5开始Boost库是必需的
# tar xf MysqL-boost-5.7.22.tar.gz
# cd MysqL-5.7.22/
cmake . -DCMAKE_INSTall_PREFIX=/application/MysqL/ \
-DMysqL_DATADIR=/application/MysqL/data \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=boost \
-DSYSconfdIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8 \
-DWITH_EMBEDDED_SERVER=1
# make
# make install
# echo "export PATH=$PATH:/application/MysqL/bin/" >>/etc/profile
# source /etc/profile
# cp /application/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
# chmod +x /etc/init.d/MysqLd
cat >/etc/my.cnf <<EOF
[MysqLd]
basedir = /application/MysqL/
datadir = /application/MysqL/data/
tmpdir = /application/MysqL/tmp/
pid-file = /application/MysqL/data/my.pid
port = 3306
default_storage_ENGIne = InnoDB
innodb_autoinc_lock_mode = 2
explicit_defaults_for_timestamp = true
character-set-client-handshake = falSE
character_set_server = utf8mb4
skip-name-resolve
@H_576_250@max_connect_errors = 1000000 @H_576_250@max_allowed_packet = 1G
connect_timeout = 3600
wait_timeout = 3600
interactive_timeout = 3600
innodb_lock_wait_timeout = 10
slave-skip-errors = 1032,1062
log-error = /application/MysqL/log/error.log
slow_query_log = on
slow_query_log_file = /application/MysqL/log/slow-query-log.log
long_query_time = 1
log-queries-not-using-indexes
log-slow-admin-statements
log-slow-slave-statements
server-id = 100
log-bin = log-bin
binlog-format = ROW
EOF
之前版本MysqL_install_db是在MysqL_basedir/script下,5.7放在了MysqL_install_db/bin目录下,且已被废弃
"--initialize"会生成一个随机密码(~/.MysqL_secret),而"--initialize-insecure"不会生成密码
--datadir目标目录下不能有数据文件
# chown -R MysqL.MysqL /application/MysqL/
# MysqLd --initialize-insecure --user=MysqL --basedir=/application/MysqL/ --datadir=/application/MysqL/data
# MysqLd_safe --defaults-file=/etc/my.cnf & #启动MysqL服务
# /etc/init.d/MysqLd start #启动MysqL服务,同上条命令一样
# MysqLadmin -uroot password 123456 #设置root密码为123456
# MysqL -uroot -p123456 -e "grant all on *.* to [email protected]'10.0.0.%' identified by '123456';"
在web01上操作
# cat /application/Nginx/html/connect_MysqL.PHP
<?PHP
$MysqLi = new MysqLi("10.0.0.151","root","123456");
}else{
echo"connect MysqL is successful";
}
?>
浏览器中输入http://10.0.0.107/connect_MysqL.PHP,显示connect MysqL is successful,说明连接成功。
以上是大佬教程为你收集整理的CentOS7.4中搭建lnmp环境全部内容,希望文章能够帮你解决CentOS7.4中搭建lnmp环境所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。