失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)

centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)

时间:2021-03-01 14:14:19

相关推荐

centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)

前言:最近总是要安装服务器环境,记录这次CentOS 7.3下安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)环境的过程,以备日后使用。

一、准备工作

1. 更新源

# yum update

2. 安装vsftpd

3. 关闭selinux

//修改配置文件,重启服务后永久生效。

# sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

// 立即生效。

# setenforce 0

4. 安装依赖

# yum install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

二、安装nginx(两种,编译和源)

第一种 源安装(推荐,之后配置以这种安装为准):

// 安装nginx源

# yum localinstall /packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

// 安装nginx

# yum install nginx

// 启动nginx

# service nginx start

第二种 编译安装(编译安装自由度高,但配置麻烦):

// 下载Nginx (如需最新版,也可直接去官网下载)

# wget /download/nginx-1.11.12.tar.gz

// 解压

# tar -zxvf nginx-1.11.12.tar.gz

# cd nginx-1.11.12

// 创建用户

# groupadd -r nginx

# useradd -r -g nginx nginx

// 编译安装

# ./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/tmp/nginx/client \

--http-proxy-temp-path=/var/tmp/nginx/proxy \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

--http-scgi-temp-path=/var/tmp/nginx/scgi \

--user=nginx \

--group=nginx \

--with-pcre \

--with-http_v2_module \

--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-mail \

--with-mail_ssl_module \

--with-file-aio \

--with-ipv6 \

--with-http_v2_module \

--with-threads \

--with-stream \

--with-stream_ssl_module

# make && make install

# mkdir -pv /var/tmp/nginx/client

// 添加SysV启动脚本。

# vim /etc/init.d/nginx

>> 以下为脚本写入内容

#!/bin/sh

#

# nginx - this script starts and stops the nginx daemon

#

# chkconfig: - 85 15

# description: Nginx is an HTTP(S) server, HTTP(S) reverse \

# proxy and IMAP/POP3 proxy server

# processname: nginx

# config: /etc/nginx/nginx.conf

# config: /etc/sysconfig/nginx

# pidfile: /var/run/nginx.pid

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

echo -n $"Starting $prog: "

daemon $nginx -c $NGINX_CONF_FILE

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

stop() {

echo -n $"Stopping $prog: "

killproc $prog -QUIT

retval=$?

echo

[ $retval -eq 0 ] && rm -f $lockfile

return $retval

killall -9 nginx

}

restart() {

configtest || return $?

stop

sleep 1

start

}

reload() {

configtest || return $?

echo -n $"Reloading $prog: "

killproc $nginx -HUP

RETVAL=$?

echo

}

force_reload() {

restart

}

configtest() {

$nginx -t -c $NGINX_CONF_FILE

}

rh_status() {

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case "$1" in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart|configtest)

$1

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

;;

*)

echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

exit 2

esac

>> 写入内容结束

// 赋予脚本执行权限。

# chmod +x /etc/init.d/nginx

// 添加至服务管理列表,设置开机自启。

# chkconfig --add nginx

# chkconfig nginx on

// 启动nginx

# service nginx start

nginx安装完成,等php安装好后,可以配置nginx文件

三、安装mysql5.7

// 在MySQL官网中下载YUM源rpm安装包

# wget /get/mysql57-community-release-el7-8.noarch.rpm

// 安装mysql源

# yum localinstall mysql57-community-release-el7-8.noarch.rpm

// 检查mysql源是否安装成功

# yum repolist enabled | grep "mysql.*-community.*"

> mysql-connectors-community/x86_64 MySQL Connectors Community 3

> mysql-tools-community/x86_64 MySQL Tools Community 4

> mysql57-community/x86_64 MySQL 5.7 Community Server 18

// 安装mysql

# yum install mysql-community-server

# yum install mysql-community-devel

// 启动mysql

# service mysqld start

// 查看mysql启动状态

# service mysqld status

// 设置开机启动

# systemctl enable mysqld

# systemctl daemon-reload

// 获取mysql默认生成的密码

# grep 'temporary password' /var/log/mysqld.log

> -07-04T06:06:06.824762Z 1 [Note]Atemporary password is generated for root@localhost: h8wob/ou+wpC

// :(冒号)后的就是自动生成的密码 h8wob/ou+wpC ,换成自己的密码

# mysql -uroot -p

> Enter password:h8wob/ou+wpC

> mysql>

// 更换密码

> mysql>ALTERUSER 'root'@'localhost'IDENTIFIEDBY '123IsYourNewPassword!';

注意:这里的新密码必须包含数字、小写或大写字母、特殊字符串。这个密码的复杂程度,和validate_password_policy的值有关。

PolicyTests Performed

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

Length; numeric, lowercase/uppercase, and special characters; dictionary file

默认是1,即MEDIUM。如果想要降低密码复杂度,可以进入mysql后设置。

> mysql> set global validate_password_policy=0;

// 退出后再确认一次

> mysql> quit;

# mysql -uroot -p123IsYourNewPassword!

> mysql>

至此,mysql安装完毕

四、安装php7

// 官网下载7.0.20版本后,用ftp将源码包传到服务器中,保存在/root下

# tar -zxvf php-7.0.20.tar.gz

# cd php-7.0.20

// 安装依赖包

# yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

// 编译配置。如果按照我的步骤一步步来,应该一步到位,直接看见 Thank you for using PHP。如果报错,基本就是相关依赖未安装完全。

# ./configure \

--prefix=/usr/local/php \--with-config-file-path=/etc \--enable-fpm \--with-fpm-user=nginx \--with-fpm-group=nginx \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--enable-soap \--with-libxml-dir \--with-xmlrpc \--with-openssl \--with-mcrypt \--with-mhash \--with-pcre-regex \--with-sqlite3 \--with-zlib \--enable-bcmath \--with-iconv \--with-bz2 \--enable-calendar \--with-curl \--with-cdb \--enable-dom \--enable-exif \--enable-fileinfo \--enable-filter \--with-pcre-dir \--enable-ftp \--with-gd \--with-openssl-dir \--with-jpeg-dir \--with-png-dir \--with-zlib-dir \--with-freetype-dir \--enable-gd-native-ttf \--enable-gd-jis-conv \--with-gettext \--with-gmp \--with-mhash \--enable-json \--enable-mbstring \--enable-mbregex \--enable-mbregex-backtrack \--with-libmbfl \--with-onig \--enable-pdo \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-zlib-dir \--with-pdo-sqlite \--with-readline \--enable-session \--enable-shmop \--enable-simplexml \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--with-libxml-dir \--with-xsl \--enable-zip \--enable-mysqlnd-compression-support \--with-pear \--enable-opcache// 编译安装

# make && make install

// 添加 PHP 命令到环境变量

# vim /etc/profile

// 立即生效

# source /etc/profile

// 查看PHP版本

# php -v

> PHP 7.0.20 (cli) (built: Jul 4 14:39:02) ( NTS )

Copyright (c) 1997- The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998- Zend Technologies

// 配置php-fpm

# cp php.ini-production /etc/php.ini

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/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

// 添加php-fpm至服务列表并设置开机自启。

# chkconfig --add php-fpm

# chkconfig --list php-fpm

# chkconfig php-fpm on

// 启动php-fpm

# /etc/init.d/php-fpm start

php安装完成

五、nginx站点配置

// 创建配置文件

# vim /etc/nginx/conf.d/.conf

>> 写入内容

server {

listen 80;

server_name ;

#charset koi8-r;

#access_log /var/log/nginx/log/host.access.log main;

location / {

root /var/www/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 /var/www/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 /var/www/html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;

include fastcgi_params;

}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

>> 写入内容结束

最近总是要安装服务器环境,记录这次CentOS 7.3下安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)环境的过程,以备日后使用。

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL /Linux/-05/102351.htm

如果觉得《centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。