nginx php连接mysql5.7_CentOS7部署PHP7+MYSQL5.7+Nginx(离线模式)

金阳曜
2023-12-01

最近需要安装WordPress当个人博客,正好双十一抢购了一台云服务器,于是部署了一下PHP7和Mysql5.7,下面是执行步骤,命令和遇到的一些问题

其实一开始是打算完全离线部署的,这样组件可以自己控制,但是最后PHP7和CentOS7的离线版本总有个组件无法安装上,最后放弃了用的YUM方式安装的组件

一、安装Nginx

目标版本:1.16.1

1.把包放在一个文件夹中,然后运行命令:

2.安装openssl(可跳过)

3.创建OpenSSL的软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

ldconfig -v

4.然后开始安装nginx:

tar -zxvf nginx-1.16.1.tar.gz

cd nginx-1.16.1

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module

make

make install

#设置Nginx配置文件位置

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

# 添加自启动(nginx文件为service启动文件)

mv nginx /etc/rc.d/init.d/nginx

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

chkconfig --add nginx

5.安装MYSQL5.7

#查看旧包并卸载

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

#解压安装

tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.27-linux-glibc2.12-x86_64 /usr/local/mysql

#为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

#修改当前目录拥有者为新建的mysql用户

cd /usr/local/mysql

#创建目录并设置权限

mkdir tmp

mkdir data

mkdir log

touch log/error.log

chown -R mysql:mysql ./*

#Mysql启动命令为

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/usr/local/mysql/tmp

#下面开始配置Mysql的服务

# 复制启动脚本到资源目录

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执行权限

chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加入到系统服务

chkconfig --add mysqld

# 检查mysqld服务是否已经生效

chkconfig --list mysqld

#复制配置文件my.cnf

cp /usr/local/src/my.cnf /etc/my.cnf

chmod a+x /etc/my.cnf

# 切换至mysql用户,启动mysql

service mysqld start

#/etc/profile中配置环境变量

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

后续就可以使用Mysql客户端去登录操作了

6.安装PHP7

#先安装Libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make

make install #libmcript默认安装在/usr/local

#设置软链接并加入动态库中

ln -s /usr/local/bin/libmcrypt_config /usr/bin/libmcrypt_config

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH

安装mhash

tar -zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

./configure

make

make install

安装mcrypt

tar -zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8

./configure

make

make install

#安装cmake

tar xzvf cmake-3.3.2.tar.gz

mv cmake-3.3.2 /usr/local/cmake

cd /usr/local/cmake

./bootstrap --prefix=/usr

gmake && make install

#安装libzip

tar -zxvf libzip-1.5.2.tar.gz

cd libzip-1.5.2

mkdir build

cd build

cmake ..

make && make install

#安装libzip

tar -zxvf libzip-1.2.0.tar.gz

cd libzip-1.2.0

./configure

make -j4 && make install

嗯。。。。如果上述无法成功安装,但是服务器可以联网的话,可以使用下面的Yum安装方式安装这些组件

#yum安装所需组件

groupadd www

useradd -g www www

yum -y install wget pcre pcre-devel openssl openssl-devel libicu-devel autoconf libjpeg libjpeg-devel \

libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel \

glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap \

openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel \

gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline \

readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel gdbm-devel

#如果遇到configure: error: Cannot find ldap libraries in /usr/lib错误,执行下面语句

cp -frp /usr/lib64/libldap* /usr/lib/

echo '/usr/local/lib64

/usr/local/lib

/usr/lib

/usr/lib64'>>/etc/ld.so.conf

ldconfig -v

下面开始安装PHP7

tar xzvf php-7.3.12.tar.gz

cd php-7.3.12

./configure --prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-fpm-user=www \

--with-fpm-group=www \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-iconv-dir \

--with-freetype-dir \

--with-jpeg-dir \

--with-png-dir \

--with-zlib \

--with-libxml-dir \

--with-ldap=shared \

--with-gdbm \

--with-pear \

--with-gettext \

--with-curl \

--with-xmlrpc \

--with-openssl \

--with-mhash \

--with-gd \

--enable-fpm \

--enable-mysqlnd \

--enable-xml \

--enable-rpath \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--enable-mbregex \

--enable-mbstring \

--enable-intl \

--enable-ftp \

--enable-exif \

--enable-gd-jis-conv \

--enable-pcntl \

--enable-sockets \

--enable-zip \

--enable-soap \

--enable-fileinfo \

--enable-opcache \

--enable-maintainer-zts

make

make install

#配置环境变量

echo 'export NGINX_HOME=/usr/local/nginx

export PATH=$PATH:/usr/local/mysql/bin

export PATH=$PATH:$NGINX_HOME/sbin

export PATH=$PATH:/usr/local/php/bin

' >>/etc/profile

source /etc/profile

#复制PHP配置文件(因为要配合Nginx所以需要运行php-fpm)

cp php.ini-development /usr/local/php/etc/php.ini

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

cp sapi/fpm/php-fpm /usr/local/bin

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

最后贴一下Nginx里面和PHP的配置

server {

listen 80;

server_name xxx.com;

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

location ~ \.php$ {

root /wordpress;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

client_max_body_size 50m; #允许客户端请求的最大单文件字节数

client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,

}

}

附上相关的组件或配置文件

MySQL5.7配置文件my.cnf

大小:3 kb

版本:v5.7

已发布:2020年4月28日

PHP7安装组件cmake

大小:6 MB

版本:v3.3.2

已发布:2020年4月30日

PHP7安装组件libmcrypt

大小:1 MB

版本:v2.5.8

已发布:2020年4月30日

PHP7安装组件libzip

大小:1 MB

版本:v1.5.2

已发布:2020年4月30日

PHP7安装组件mcrypt

大小:461 kb

版本:v2.6.8

已发布:2020年4月30日

PHP7安装组件mcrypt

大小:461 kb

版本:v2.6.8

已发布:2020年4月30日

PHP7安装组件mhash

大小:1 MB

版本:v0.9.9.9

已发布:2020年4月30日

 类似资料: