Centos 7 部署lnmp集群架构

前言介绍

  • lnmp的全程是 linux + nginx + mysql + php;
  • lnmp就是上述系统及应用程序的简写组合;
  • lnmp其实已经代表了一个用户正常对一个页面请求的流程,nginx接收请求,mysql进行数据存储,php进行后端处理;类似的架构还有lamp或者 linux + nginx + mysql + java等等;
  • lnmp又叫lemp,外国人喜欢叫lemp,中国人喜欢叫lnmp;
  • lnmp相比于lamp架构的优势在于轻便、操作相对简单;lamp优势相对于nginx而言模块丰富;

 

环境配置

编号 软件 版本
1 Centos 7
2 nginx 1.175
3 mysql 5.7
4 php 7.5

 

PS:操作系统属于最小化安装,所有操作均属于在线操作,但也可以用离线操作进行替换;所有的部署操作皆按照下述操作实施。并且我在机器上面部署了ss,用来做http及https的代理请求,因为我家里的网络皆这些开源官网实在太卡了

 

部署详情

1、安装前的准备

sed -i 's/enforcing/disabled/' /etc/selinux/config
rpm -qa | grep "firewall" | xargs rpm -e --nodeps
rpm -qa | grep "iptables" | xargs rpm -e --nodeps
sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
systemctl restart sshd
reboot

 

2、安装ss代理

https://www.cnblogs.com/guge-94/p/11363303.html

 

3、安装数据库

https://www.cnblogs.com/guge-94/p/10552374.html

 

4、安装php

yum -y install libxml2 libxml2-devel openssl openssl-devel zlib zlib-devel pcre pcre-devel
wget http://45.252.224.82/files/223900000DDAF9C0/zlib.net/zlib-1.2.11.tar.gz -P /opt/
tar -zxf /opt/zlib-1.2.11.tar.gz -C /opt/
cd /opt/zlib-1.2.11
./configure --prefix=/usr/local/zlib && make -j8 && make install
wget https://www.php.net/distributions/php-7.3.11.tar.gz -P /opt/
tar -zxf /opt/php-7.3.11.tar.gz -C /opt/
cd /opt/php-7.3.11
./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib-dir=/usr/local/zlib/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-bcmath --enable-shmop --enable-ftp --with-openssl
make -j8 && make install
make test   # 这个测试过程格外的漫长,可选择执行;主要用来测试编译的结果

# 生成配置文件
PS:源码编译安装中包含fpm的代码,但是yum安装或者在线安装是需要单独指定
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /opt/php-7.3.11/php.ini-production /usr/local/php/lib/php.ini
cp /opt/php-7.3.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

# 基本配置
chmod a+x /etc/init.d/php-fpm 
groupadd www
useradd -s /sbin/nologin -g www -M www
/etc/init.d/php-fpm start
ln -s /usr/local/php/bin/* /usr/bin/

PS:我这里并没有像网上那样,安装lnmp或者lamp环境的时候,搞上一大堆插件;其一一般人并不知道所有插件的功能,依赖插件或者扩展库的功能得根据相应的业务场景来定,其二我这里只是实验,如果后续你想添加任何插件,请在文章的基础之上做添加

 

5、安装nginx

https://www.cnblogs.com/guge-94/p/11758498.html

 

6、检测安装结果

mkdir -p /data/www
cat /data/www/index.php 
# 写一个简单的php检测一下整个lnmp环境
<html> <head> <title>PHP 测试</title> </head> <body> <?php echo '<p>Hello World!</p>'; ?> </body> </html> cat /etc/nginx/nginx.conf
# 这是一份关于nginx的基础配置,如需自行优化可在这个基础上进行优化 user www www; worker_processes
1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; index index.php index.html index.htm; root /data/www; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } chown -R www.www /data/www nginx -t nginx -s reload

上面的操作完成之后通过浏览器或curl请求一下主机地址即可

posted @ 2019-11-09 18:43  寻真丶  阅读(256)  评论(0编辑  收藏  举报