首页 > 代码库 > 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无法自动创建请修改配置文件.
cp wp-config-sample.php wp-config.php(编辑此文件如下修改)
define(‘DB_NAME‘, ‘wordpress‘);
/** MySQL 數據庫使用者名稱,請更改 "username_here" */define(‘DB_USER‘, ‘wordpress‘);
/** MySQL 數據庫密碼,請更改 "password_here" */define(‘DB_PASSWORD‘, ‘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系列编译安装php7+nginx1.12及搭建自己的wordpress博客