Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c

一、linux 系统限制配置
1、关闭系统防火墙
systemctl stop firewalld.service 关闭防火墙 systemctl disable firewalld.service 禁用防火墙
2、关闭SElinux
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config setenforce 0 selinux 立即生效
二、系统安装约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
三、下载软件包
1、下载nginx最新稳定版本
wget -P /usr/local/src http://nginx.org/download/nginx-1.11.7.tar.gz
2、下载mysql-boost-5.7.16 带 boost 如果不带源码安装如果网络环境不会可能会出现错误
wget -P /usr/local/src http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.16.tar.gz
3、下载php-7.1.0版本
wget -P /usr/local/src http://cn2.php.net/distributions/php-7.1.0.tar.gz
4、下载libmemcached-1.0.18
wget -P /usr/local/src https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
5、下载php-memcached
yum -y install git cd /usr/local/src git clone -b php7 https://github.com/php-memcached-dev/php-memcached.git
6、下载openssl-1.1.0c
wget -P /usr/local/src https://www.openssl.org/source/openssl-1.1.0c.tar.gz
四、安装编译器及依赖
yum -y insyall epel-release yum -y install patch gcc gcc-c++ readline-devel zlib-devel libffi-devel \ openssl openssl-devel make autoconf automake libtool bison libxml2 \ libxml2-devel libxslt-devel libyaml-devel python python-docutils \ cmake imake expat-devel libaio libaio-devel bzr ncurses-devel wget \ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \ pcre-devel curl-devel libmcrypt libmcrypt-devel
五、编译安装mysql-boost-5.7.16 方便再次安装创建mysql_install.sh脚本
1、mysql_install.sh内容
#!/bin/bash
#yum update -y
#yum install -y cmake gcc-c++ ncurses-devel gcc make openssl*
#mysql安装脚本
DBDIR='/data/mysql' #mysql数据存储目录
MYSQLDIR='/usr/local/mysql' # mysql安装目录
PASSWD='123456' # mysql root密码 安装完成可远程ip登陆
[ -d $DBDIR ] || mkdir $DBDIR -p
id mysql &> /dev/null
if [ $? -ne 0 ];then
useradd mysql -s /sbin/nologin -M
fi
chown -R mysql:mysql $DBDIR
cd /usr/local/src
tar -xvf mysql-boost-5.7.16.tar.gz
cd mysql-5.7.16
cmake . -DCMAKE_INSTALL_PREFIX=$MYSQLDIR \
-DMYSQL_DATADIR=$DBDIR \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/usr/local/src/mysql-5.7.16/boost/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
if [ $? != 0 ];then
echo "cmake error!"
exit 1
fi
make && make install
if [ $? -ne 0 ];then
echo "install mysql is failed!" && /bin/false
fi
sleep 2
chown -R mysql:mysql $MYSQLDIR
chown -R root:root $MYSQLDIR
cp $MYSQLDIR/support-files/my-default.cnf /etc/my.cnf
echo export PATH=$PATH:$MYSQLDIR/bin:$MYSQLDIR/lib >>/etc/profile
source /etc/profile
cat >> /etc/my.cnf << EOF
character_set_server = utf8
basedir = $MYSQLDIR
datadir = $DBDIR
port = 3306
server_id = 1
socket = /tmp/mysql.sock
explicit_defaults_for_timestamp=true
EOF
sed -i 's/sql_mode=.*/sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER/g' /etc/my.cnf
source /etc/profile
sleep 5
cd $MYSQLDIR
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
mysql_ssl_rsa_setup
rm -rf $DBDIR
mysqld --initialize --user=mysql
if [ $? -ne 0 ];then
echo "install mysql is failed!" && /bin/false
fi
#/etc/init.d/mysqld stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
sleep 5
echo "update user set authentication_string=Password('$PASSWD') where user='root'; flush privileges;" | mysql mysql
echo "set password=Password('$PASSWD'); flush privileges;" | mysql -u root -p$PASSWD --connect-expired-password
sleep 5
echo "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '$PASSWD'; FLUSH PRIVILEGES; " | mysql -u root -p$PASSWD
/etc/init.d/mysqld restart
if [ $? -ne 0 ];then
echo "install mysql is failed!" && /bin/false
fi
IDSO=`cat /etc/ld.so.conf| grep $MYSQLDIR/lib | wc -l `
if [ $IDSO -eq 0 ];then
echo "$MYSQLDIR/lib" >> /etc/ld.so.conf
ldconfig
fi
chkconfig mysqld on
2、给 mysql_install.sh 可执行权限
chmod +x mysql_install.sh
3、运行mysql_install.sh
./mysql_install.sh
六、编译安装php7 创建php安装脚本php7_install.sh
1、vim php7_install.sh
#!/bin/bash if [ $( find / -name mysql | wc -l ) -gt 1 ];then echo " mysql is install " else yum install -y mysql fi cd /usr/local/src tar -xzvf php-7.1.0.tar.gz cd ./php-7.1.0 ./configure \ --prefix=/usr/local/php7 \ --exec-prefix=/usr/local/php7 \ --with-config-file-path=/usr/local/php7/etc \ --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 \ --with-zlib-dir \ --with-mhash \ --with-mcrypt \ --with-openssl-dir \ --with-jpeg-dir \ --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 make && make install # 中文php画图取消这个参数,不然会出现乱码 # --enable-gd-jis-conv \
2、给 php7_install.sh 可执行权限
chmod +x php7_install.sh
3、执行 php7_install.sh
./php7_install.sh
4、编译安装libmemcached-1.0.18
vim libmemcached_install.sh
#/!bin/bash cd /usr/local/src tar -zxvf libmemcached-1.0.18.tar.gz cd ./libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached make && make install chmod +x libmemcached_install.sh ./libmemcached_install.sh
5、编译安装php-memcached
vim memcached_install.sh
#!/bin/bash cd /usr/local/src/php-memcached /usr/local/php7/bin/phpize ./configure --with-libmemcached-dir=/usr/local/libmemcached \ --with-php-config=/usr/local/php7/bin/php-config \ --disable-memcached-sasl make && make install chmod +x memcached_install.sh ./memcached_install.sh
留意编完成生成文件路径
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
七、编译安装openssl-1.1.0c
vim openssl_install.sh
#!/bin/bash #openssl install cd /usr/local/src tar -xvf openssl-1.1.0c.tar.gz cd /usr/local/src/openssl-1.1.0c ./config --openssldir=/usr/local/ssl make && make install ./config shared --openssldir=/usr/local/ssl make clean make && make install IDSO=`cat /etc/ld.so.conf| grep /usr/local/lib64 | wc -l ` if [ $IDSO -eq 0 ];then echo "/usr/local/lib64" >> /etc/ld.so.conf fi ldconfig chmod +x openssl_install.sh ./openssl_install.sh
八、编译安装nginx-1.11.7
vim nginx_install.sh
#!/bin/bash
# nginx install
id nginx &> /dev/null
if [ $? -ne 0 ];then
groupadd -r nginx
useradd -g nginx -r nginx
fi
cd /usr/local/src
tar -xvf nginx-1.11.7.tar.gz
cd /usr/local/src/nginx-1.11.7
./configure --prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--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_stub_status_module \
--with-http_auth_request_module \
--with-threads \
--with-stream \
--with-openssl=/usr/local/src/openssl-1.1.0c \ # openssl 源码解压路径
--with-stream_ssl_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-http_v2_module \
--with-ipv6
mkdir -pv /var/cache/nginx/{client_temp,proxy_temp,fastcgi_temp,uwsgi_temp,scgi_temp}
make && make install
2、给nginx_install.sh可执行权限
chmod +x nginx_install.sh ./nginx_install.sh
九、配置PHP7
/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so
这个路径是 随机可变的所以要注意
留意变完成生成文件路径
Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
cd /usr/local/src/php-7.1.0 cp php.ini-production /usr/local/php7/etc/php.ini cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf sed -i "s/user = .*/user = nginx/g" /usr/local/php7/etc/php-fpm.d/www.conf sed -i "s/group = .*/group = nginx/g" /usr/local/php7/etc/php-fpm.d/www.conf cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm chkconfig php-fpm on cat >> /usr/local/php7/etc/php.ini<< EOF soap.wsdl_cache_enabled=1 max_input_time = 600 max_execution_time = 300 date.timezone = Asia/Shanghai post_max_size = 32M memory_limit = 128M mbstring.func_overload = 1 extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/memcached.so EOF cat > /usr/local/nginx/html/index.php<<EOF <?php phpinfo(); ?> EOF service php-fpm start
十、配置nginx
1、重命名:/etc/nginx/nginx.conf
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.back
2、新建/etc/nginx/nginx.conf
cat > /etc/nginx/nginx.conf << EOF
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
EOF
3、创建/etc/nginx/conf.d
mkdir -p /etc/nginx/conf.d
4、创建支持php-fpm web nginx配置
cat > /etc/nginx/conf.d/default.conf << EOF
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/nginx/html;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* ^.+\.(jpg|jpeg|gif|png|bmp)$ {
access_log off;
root opencart;
expires 30d;
break;
}
}
EOF
5、创建nginx启动脚本
vim /etc/init.d/nginx
# chkconfig: 2345 10 90
# description: Start and Stop nginx
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
EXEC=/usr/sbin/nginx
PIDFILE=/var/run/nginx.pid
CONF="/etc/nginx/nginx.conf"
AUTH="1234"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed."
else
echo "Starting nginx server..."
$EXEC -c $CONF &
fi
if [ "$?"="0" ]
then
echo "nginx is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE exists, process is not running."
else
PID=$(cat $PIDFILE)
echo "Stopping..."
kill -9 $PID
PID=$(pidof nginx)
kill -9 $PID
rm -rf /var/run/nginx.pid
sleep 2
while [ -x $PIDFILE ]
do
echo "Waiting for nginx to shutdown..."
sleep 1
done
echo "nginx stopped"
fi
;;
reload)
$EXEC -s reload
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/nginx {start|stop|restart|force-reload|reload}" >&2
exit 1
esac
6、给 /etc/init.d/nginx 可执行权限
chmod +x /etc/init.d/nginx
7、设置开机启动
chkconfig nginx on
8、启动nginx
service nginx start
十一、测试
[root@QKA169 src]# openssl version OpenSSL 1.1.0c 10 Nov 2016 mysql -u root -p123456 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) 看看是否登陆成功。远程带IP是否登陆成功 mysql -u root -h192.168.1.69 -p123456 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.16 Source distribution Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
测试nginx 是否能打开
[root@QKA169 html]# ps -ef | grep php-fpm root 337433 1 0 18:03 ? 00:00:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf) nobody 337434 337433 0 18:03 ? 00:00:00 php-fpm: pool www nobody 337435 337433 0 18:03 ? 00:00:00 php-fpm: pool www root 337454 37888 0 18:12 pts/0 00:00:00 grep --color=auto php-fpm [root@QKA169 html]# ps -ef | grep nginx root 337400 1 0 18:01 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf nginx 337401 337400 0 18:01 ? 00:00:00 nginx: worker process root 337456 37888 0 18:13 pts/0 00:00:00 grep --color=auto nginx [root@QKA169 html]# netstat -nalp | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 337400/nginx: maste tcp 0 0 192.168.1.69:80 192.168.6.6:54714 TIME_WAIT - tcp 0 0 192.168.1.69:80 192.168.6.6:54709 TIME_WAIT - 远程打开 http://192.168.1.69/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# centos7
# lnmp环境搭建
# centos7搭建lnmp
# centos
# CentOS 6.5中利用yum搭建LNMP环境的步骤详解
# centos 7.2下搭建LNMP环境教程
# 阿里云Centos7安装LNMP+wordpress
# CentOS7编译安装新版LNMP环境
# centos7.0之Lnmp和Lamp详细介绍
# CentOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装
# CentOS 7配置LNMP开发环境及配置文件管理详解
# CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5
# CentOS6.7系统中配置LNMP环境
# centos7利用yum安装lnmp的教程(linux+nginx+php7.1+mysql5.7)
# 可执行
# 要注意
# 软件包
# 不带
# 是否能
# 源代码
# 大家多多
# 安装目录
# 系统安装
# 出现错误
# 重命名
# 数据存储
# 器及
# 出现乱码
# explicit_defaults_for_timestamp
# NO_ENGINE_SUBSTITUTION
# datadir
# socket
# server_id
# sql_mode
相关文章:
如何在Tomcat中配置并部署网站项目?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
网站制作服务平台,有什么网站可以发布本地服务信息?
平台云上自主建站:模板化设计与智能工具打造高效网站
如何在西部数码注册域名并快速搭建网站?
PHP 500报错的快速解决方法
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
建站之星伪静态规则如何设置?
建站主机服务器选型指南与性能优化方案解析
建站之星×万网:智能建站系统+自助建站平台一键生成
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
建站VPS配置与SEO优化指南:关键词排名提升策略
表情包在线制作网站免费,表情包怎么弄?
如何使用Golang table-driven基准测试_多组数据测量函数效率
建站之星备案是否影响网站上线时间?
如何基于云服务器快速搭建个人网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
潮流网站制作头像软件下载,适合母子的网名有哪些?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何在万网自助建站中设置域名及备案?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站DNS解析失败?如何正确配置域名服务器?
网站制作壁纸教程视频,电脑壁纸网站?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何用狗爹虚拟主机快速搭建网站?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何挑选最适合建站的高性能VPS主机?
香港服务器部署网站为何提示未备案?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何制作网站标识牌,动态网站如何制作(教程)?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
香港网站服务器数量如何影响SEO优化效果?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
C#怎么使用委托和事件 C# delegate与event编程方法
如何在万网ECS上快速搭建专属网站?
nginx修改上传文件大小限制的方法
建站之星图片链接生成指南:自助建站与智能设计教程
存储型VPS适合搭建中小型网站吗?
Java解压缩zip - 解压缩多个文件或文件夹实例
山东云建站价格为何差异显著?
网站制作员失业,怎样查看自己网站的注册者?
个人网站制作流程图片大全,个人网站如何注销?
如何通过远程VPS快速搭建个人网站?
高防服务器如何保障网站安全无虞?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
网页设计与网站制作内容,怎样注册网站?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。