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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

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

安装完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 autoconf libjpeg wget"

Packages_3="libpng-devel freetype-devel mcrypt php-mcrypt libmcrypt libmcrypt-devel "

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

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

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

#循环两次安装

sum=1

while(($sum<=2))

do

let "sum ++"

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

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

本文转自  一招拜师  51CTO博客,原文链接:http://blog.51cto.com/sadoc/1932024

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
474 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
10月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1182 0
|
12月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
338 18
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1231 25
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
660 5
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
12495 1
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。