Centos系列编译安装php7+nginx1.12及搭建自己的wordpress博客

前端之家收集整理的这篇文章主要介绍了Centos系列编译安装php7+nginx1.12及搭建自己的wordpress博客前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

脚本方式安装,快速简单.复制到编写软件放大字体,这里字体太小.

安装完Nginx+PHP看个人需要数据库搭建位置.


数据库安装完成创建数据库及授权(5.7方式)

5.7数据库初始密码查看

systemctl MysqLd start

[root@centos7 ~]# grep "password" /var/log/MysqLd.log

2017-06-04T01:29:39.687228Z 1 [Note] A temporary password is generated for root@localhost: b>gOU6ZFr1i_

创建库

CREATE DATABASE wordpress;

创建用户,因为关闭root远程链接

CREATE USER 'wordpress'@'%' IDENTIFIED BY 'b>gOU6ZFr1i_';

授权用户权限并且能够访问的主机

GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'%';


最后下载wordpress解压 到Nginx目录下即可.--/data

若是wordpress无法自动创建请修改配置文件.

cpwp-config-sample.PHPwp-config.php(编辑此文件如下修改)

define('DB_NAME','wordpress');

/** MysqL ����焓褂谜呙��Q,�更改 "username_here" */define('DB_USER','wordpress');

/** MysqL ����烀艽a,�更改 "password_here" */define('DB_PASSWORD',0);">b>gOU6ZFr1i_');

/** MysqL 伺服器位址 */define('DB_HOST','192.168.1.201');




#!/bin/bash

#By:sadoc.blog.51cto.com

#Date:2017-06-03

#LNMP一键安装

#系统centos6.9 64位

#Kernel: 2.6.32-696.3.1.el6.x86_64

#PHP版本: PHP 7.1.5

#Nginx版本: 1.12.0

#MysqL版本:MysqL-community-5.7.18(64位)

#因为数据库在另外一台,所以这里不安装,安装很简单.

#MysqL官网下载yum包

#wget https://repo.MysqL.com//MysqL57-community-release-el7-11.noarch.rpm

#mv /etc/my.cnf /etc/my.cnf.bak

#rpm -ivh MysqL57-community-release-el7-11.noarch.rpm

#yum install MysqL-community-server -y

#


. /etc/init.d/functions || exit 5

ping -c 2 www.baidu.com || exit 6

ntpdate time1.aliyun.com && hwclock -w

#

check_user=`whoami`

if [ "$check_user" != "root" ];then

echo "Plz Use root"

exit 1

fi


#for Nginx PHP

useradd -M -s /sbin/nologin cents

#

Packages_1="epel-release openssl-devel libxml2-devel curl-devel openjpeg openjpeg-devel geoip-devel"

Packages_2="openjpeg-libs libjpeg libpng freetype cmake wget autoconf libjpeg "

Packages_2="libpng-devel freetype-devel mcrypt PHP-mcrypt libmcrypt libmcrypt-devel "

Packages_3="zlib-devel net-tools libxml2-devel gcc gcc-c++ zip unzip gzip krb5 perl-devel"

Packages_4="krb5-devel glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl-devel"

Packages_5="perl-ExtUtils-Embed automake autoconf libtool libxslt-devel make gd-devel"

#循环两次安装

sum=1

while(($sum<=2))

do

for app in $Packages_1 $Packages_2 $Packages_3 $Packages_4 $Packages_5

do

rpm -qa|grep $app

if [ $? != "0" ];then

yum install -y $app

fi

done

done

#

Load=/opt/download

Nginx_1="Nginx-1.12.0.tar.gz"

PHP_1="PHP-7.1.5.tar.gz"

Pcre_1="pcre-8.40.tar.gz"

Openssl_1="openssl-1.0.2k.tar.gz"


[ -d $Load ] || mkdir $Load -p

cd $Load

[ -f "$Nginx_1" ] || wget http://Nginx.org/download/Nginx-1.12.0.tar.gz >>/dev/null

[ -f "$PHP_1" ] || wget http://36.248.244.147/files/9030000000294763/cn2.PHP.net/distributions/PHP-7.1.5.tar.gz

#我这里的PHP下载被无耻的长城宽带劫持了.

[ -f "$Pcre_1" ] || wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz

[ -f "$Openssl_1" ] || wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz

[ -d /data/wordpress ] || mkdir /data/wordpress -p

for yasuo in `ls`

do

tar xf $yasuo >>/dev/null 2>&1

done



#

cd Nginx-1.12.0

./configure --prefix=/opt/app/Nginx1.12.0 \

--user=cents \

--group=cents \

--with-file-aio \

--with-ipv6 \

--with-http_ssl_module \

--with-http_v2_module \

--with-http_realip_module \

--with-http_addition_module \

--with-http_xslt_module=dynamic \

--with-http_image_filter_module=dynamic \

--with-http_geoip_module=dynamic \

--with-http_sub_module \

--with-http_dav_module \

--with-http_flv_module \

--with-http_mp4_module \

--with-http_gunzip_module \

--with-http_gzip_static_module \

--with-http_random_index_module \

--with-http_secure_link_module \

--with-http_degradation_module \

--with-http_slice_module \

--with-http_stub_status_module \

--with-http_perl_module=dynamic \

--with-mail=dynamic \

--with-mail_ssl_module \

--with-pcre=/opt/download/pcre-8.40 \

--with-openssl=/opt/download/openssl-1.0.2k \

--with-pcre-jit \

--with-stream=dynamic \

--with-stream_ssl_module \

--with-debug


[ $? = 0 ] || exit 5

make && make install && cd $Load

#

cd PHP-7.1.5

./configure --prefix=/opt/app/PHP7.1.5 \

--with-MysqL=MysqLnd \

--with-MysqLi=MysqLnd \

--with-pdo-MysqL=MysqLnd \

--with-pdo-MysqLi=MysqLnd \

--with-iconv-dir=/usr/local/libiconv \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--disable-rpath \

--enable-safe-mode \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--with-curl \

--with-curlwrappers \

--enable-mbregex \

--enable-mbstring \

--with-mcrypt \

--with-gd \

--enable-gd-native-ttf \

--with-openssl \

--with-mhash \

--enable-pcntl \

--enable-sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--enable-short-tags \

--enable-zend-multibyte \

--enable-static --with-xsl \

--enable-ftp \

--enable-fpm \

--with-fpm-user=cents \

--with-fpm-group=cents


[ $? = 0 ] || exit 5

make && make install && cd


#

ln -s /opt/app/Nginx1.12.0 /opt/app/Nginx >>/dev/null 2>&1

ln -s /opt/app/PHP7.1.5 /opt/app/PHP >>/dev/null 2>&1

#Nginx 配置

\cp /opt/app/Nginx/conf/Nginx.conf /opt/app/Nginx/conf/Nginx.conf.bak

cat >/opt/app/Nginx/conf/Nginx.conf<<"EOF"

user cents;

worker_processes 1;


error_log logs/error.log warn;

pid logs/Nginx.pid;


events {

worker_connections 1024;

}


http {

include /opt/app/Nginx1.12.0/conf/mime.types;

default_type application/octet-stream;


log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';


access_log logs/access.log main;


sendfile on;


keepalive_timeout 65;


include /opt/app/Nginx/conf.d/*.conf;

}

EOF


#

mkdir /opt/app/Nginx/conf.d -p

cat >/opt/app/Nginx/conf.d/wordpress.conf<<"EOF"

server {

listen 80;

server_name localhost;


location / {

root /data/wordpress;

index index.PHP index.htm;

}



location ~ \.PHP$ {

root /data/wordpress;

fastcgi_pass unix:/tmp/PHP7.1.5-fpm.sock;

fastcgi_index index.PHP;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

EOF


#PHP配置

cd /opt/app/PHP/etc

\cp PHP-fpm.conf.default PHP-fpm.conf


sed -i "s%;pid = run/PHP-fpm.pid%pid = /tmp/PHP-fpm.pid%g" PHP-fpm.conf

sed -i "s%;error_log = log/PHP-fpm.log%error_log = /var/log/PHP-fpm.log%g" PHP-fpm.conf


cd /opt/app/PHP/etc/PHP-fpm.d

\cp www.conf.default wordpress.conf

sed -i "s%listen = 127.0.0.1:9000%listen = /tmp/PHP7.1.5-fpm.sock%g" wordpress.conf

sed -i "s%;listen.owner = cents%listen.owner = cents%g" wordpress.conf

sed -i "s%;listen.group = cents%listen.group = cents%g" wordpress.conf

sed -i "s%;listen.mode = 0660%listen.mode = 0660%g" wordpress.conf

#

\cp /opt/download/PHP-7.1.5/PHP.ini-production /opt/app/PHP/etc/PHP.ini

cd

#

/opt/app/Nginx/sbin/Nginx -t && /opt/app/Nginx/sbin/Nginx

/opt/app/PHP/sbin/PHP-fpm -t && /opt/app/PHP/sbin/PHP-fpm


#Iptables

iptables -F

iptables -X

iptables -Z

iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

iptables --policy OUTPUT ACCEPT

iptables --policy forward drop

iptables --policy FORWARD DROP

iptables --policy INPUT DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPU -o lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -l -n

iptables -L -n

/etc/init.d/iptables save

sed -i "/SELINUX/s/enforcing/disabled/g" /etc/sysconfig/selinux

setenforce 0

猜你在找的CentOS相关文章