lnmp中mysql配置文件_LNMP-部署-配置(Linux+Nginx+PHP+Mysql)

LNMP

下载与安装依赖项

1.环境需求与软件链接地址

linux: Aliyun Linux release 2.1903 (Hunting Beagle)

nginx: nginx-1.16.1.tar.gz http://nginx.org/

php: php-7.3.11.tar.gz https://www.php.net/distributions/php-7.3.11.tar.gz

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

libxml2: libxml2-2.9.9.tar.gz ftp://xmlsoft.org/libxml2/

openssl: openssl-1.1.0l.tar.gz https://www.openssl.org/source/openssl-1.1.0l.tar.gz

zlib: zlib-1.2.11.tar.gz http://zlib.net/

pcre: pcre-8.43.tar.gz ftp://ftp.pcre.org/pub/pcre/

下载至/opt/.暂时不安装

2.依赖项安装

这里用yum安装一下在编译过程中所需要的编译工具和小程序,如:gcc、gd库、cmake等等

yum install -y gcc gcc-c++ make sudo autoconf libtool-ltdl-devel gd-devel \

freetype-devel libxml2-devel libjpeg-devel libpng-devel \

openssl-devel curl-devel patch libmcrypt-devel \

libmhash-devel ncurses-devel bzip2 \

libcap-devel ntp sysklogd diffutils sendmail iptables unzip cmake

3.创建www用户

groupadd www

useradd -r www -g www

nginx安装

安装nginx前,我们需要安装3个依赖包:

pcre:在使用 nginx 的 rewrite 模块的时候,需要有pcre库的支持.

openssl:在使用ssl功能时,需要有 openssl库的支持.

zlib:在使用gzip模块时,需要有zlib库的支持.

而这三个模块都是我们常用的.

1.安装 pcre

cd pcre-8.43/

./configure

make

make install

2.安装 openssl

cd /opt/openssl-1.1.0l/

./config

make

make install

3.安装 zlib

cd /opt/zlib-1.2.11/

CFLAGS="-O3 -fPIC" ./configure

make

make install

4.安装 nginx

建议最简化安装.

cd /opt/nginx-1.16.1

./configure --user=www --group=www --prefix=/usr/local/nginx --with-pcre=/opt/pcre-8.43 --with-zlib=/opt/zlib-1.2.11 --with-openssl=/opt/openssl-1.1.0l

make

make install

mysql安装

略.参考mysql文档.

php安装

安装php之前,也要安装一个依赖包 libxml2.

1.安装 libxml2

cd /opt/libxml2-2.9.9/

./configure --with-python=no

make

make install

2.安装 php

cd /opt/php-7.3.11

使用之前编译安装的mysql,进行configure,会报错.

./configure ... --with-pdo-mysql=/usr/local/mysql/ ...

报错: configure: error: PDO_MYSQL configure failed, MySQL 4.1 needed.

改用php官方的mysqlnd. --with-pdo-mysql=mysqlnd,php 5.3+版本都可以.

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib --enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-sockets --with-curl --enable-maintainer-zts

make ,报错

若有提示OPENSSL的报错,说明之前安装的OPENSSL跟系统自带的有冲突,需要移除掉系统自带的.

collect2: error: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 (前面都是OPENSSL)

执行 yum remove openssl-devel

make,若有提示找不到 libssl.so.1.1 和 libcrypto.so.1.1,原因是库没有在/usr/lib64/里.

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

每次make前,需要先 make clean清除相关信息,再重新 make.成功后,再

make test # 测试完之后,提示是否上传报告,输入 n

make install # 安装

配置文件

1.php配置

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #默认只包含php-fpm.d/*.conf,没有其他额外配置

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf #启动时进程数,最大进程数...

cp /opt/php-7.3.11/php.ini-production /usr/local/php/lib/php.ini

启动php-fpm

/usr/local/php/sbin/php-fpm

2.nginx配置

修改nginx配置文件,这里采用的是从默认配置文件改过来的.

user nobody;

worker_processes 4;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#pid logs/nginx.pid;

events {

worker_connections 102400;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

#access_log off; # 关闭access日志

#error_log off; # 关闭error日志

server {

listen 80;

server_name localhost;

error_log logs/error.log; # error日志路径

location / {

#root html; # 静态文件默认根目录存放位置.这里是/usr/local/nginx/html

root /data/www;

index index.html index.htm index.php;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

#root html;

root /data/www; #php文件存放路径

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # 脚本文件存放位置,可以与root指定的目录不一致.根据"php"正则匹配到此

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 关闭fastcgi.conf的情况下,构建$document_root参数(这个参数的值就代表站点目录root那一行的值)

include fastcgi_params;

#include fastcgi.conf; #获取SCRIPT_FILENAME.如果前面没有配置SCRIPT_FILENAME,则这里需要打开,以便nginx读取对应的参数信息

}

}

}

启停nginx

/usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx -s [stop, quit, reopen, reload]

测试

php文件测试

[root@iZj6c7on1pthsqckvle1hjZ www]# ls /data/www/

index.php test.php

[root@iZj6c7on1pthsqckvle1hjZ www]# cat /data/www/index.php

phpinfo();

?>

配置文件解析(可以略过)

php配置相关文件

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

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

/usr/local/php/lib/php.ini

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值