加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Linuxr计算机操作系统hel6.5-lnmp架构解析

发布时间:2022-11-04 10:51:17 所属栏目:MySql教程 来源:
导读:  一.lnmp架构

  lnmp架构:Linux+Nginx+MySQL+PHP的网站服务器架构

  Linux:计算机操作系统

  Nginx:是一个高性能的HTTP和反向代理服务器,Nginx性能稳定、功能丰富、运维简单、处理静态文件
  一.lnmp架构
 
  lnmp架构:Linux+Nginx+MySQL+PHP的网站服务器架构
 
  Linux:计算机操作系统
 
  Nginx:是一个高性能的HTTP和反向代理服务器,Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少
 
  Mysql:一个小型关系型数据库管理系统
 
  PHP:是一种在服务器端执行的嵌入HTML文档的脚本语言
 
  这四种免费的开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
 
  二.mysql的安装部署
 
  1.mysql的安装(采用源码包(mysql-boost-5.7.17.tar.gz)安装,没有兼容性的限制)
 
  tar mysql-boost-5.7.17.tar.gz ##解包
 
  (1)编译cmake
 
  yum install cmake-2.8.12.2-4.el6.x86_64.rpm
 
  CMake是一个跨平台的编译工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是CMake的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用
 
  cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql #安装目录
 
  -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data #数据库存放目录
 
  -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock #Unix socket文件路径
 
  -DWITH_MYISAM_STORAGE_ENGINE=1 #安装 myisam 存储引擎
 
  -DWITH_INNOBASE_STORAGE_ENGINE=1 #安装 innodb 存储引擎
 
  -DDEFAULT_CHARSET=utf8 #使用utf8字符
 
  -DDEFAULT_COLLATION=utf8_general_ci #校验字符
 
  -DEXTRA_CHARSETS=all #安装所有扩展字符集
 
  编译过程会有报错(安装一些依赖包):
 
  yum install ncurses-devel -y
 
  yum install bison -y
 
  yum install -y gcc gcc-c++ ##解释器
 
  报错重新编译时,需要清除旧的对象文件和缓存信息
 
  rm -f CmakeCache.txt
 
  (2)编译安装make && make install(磁盘空间要足够,不然会报错)
 
  2.mysql的配置
 
  cp /etc/my.cnf /etc/my.cnf.backup ##备份原来的mysql的my.cnf
 
  (1)cp /usr/local/lamp/mysql/support-files/my-default.cnf /etc/my.cnf ##为了方便编辑把配置文件复制到/etc下
 
  (2)vim /etc/my.cnf ##mysql的配置文件
 
  :
 
  basedir = /usr/local/lamp/mysql ##mysql的主目录
 
  datadir = /usr/local/lamp/mysql/data ##数据目录
 
  socket = /usr/local/lamp/mysql/data/mysql.sock ##mysql连接端口的路径
 
  (3)groupadd -g 27 mysql
 
  useradd -u 27 -g 27 mysql ##建立mysql的用户以及用户组
 
  id mysql
 
  cd /usr/local/lamp/mysql/
 
  (4)chown mysql.mysql . -R ##修改mysql的目录为仅mysql可读写
 
  (5)vim ~/.bash_profile ##系统的环境变量的配置文件,把mysql的命令的路径添加进去
 
  source ~/.bash_profile ##更新配置
 
  (6)初始化mysql
 
  mysqld --user=mysql --initialize ###初始化之后会提供初始密码以及生成mysql的data目录(密码为:wC#gTjV/g3:K)
 
  (7)chown root . -R
 
  chown mysql data/ -R ###除了mysql的data目录外,别的目录的为了数据的安全,用户都设定为超级用户
 
  (8)把mysql的脚本复制到/etc/init.d/ ##方便操作
 
  /etc/init.d/mysqld start ##开启mysql端口3306
 
  (9)修改密码
 
  mysql_secure_installation ##修改初始密码为自己的设定的密码
 
  enter password for user root:wC#gTjV/g3:K ##这里填写之前初始化生成的随机密码
 
  (10)登陆验证(成功登陆mysql)
 
  三.php的安装部署
 
  1.php的安装(同样使用源码包安装(php-5.6.35.tar.bz2))
 
  tar jxf php-5.6.35.tar.bz2 ##解包
 
  (1)编译(--with表示添加的模块,要的模块--help查看之后直接添加即可)
 
  报错的解决(主要就是依赖包的安装):
 
  yum install libxml2-devel -y
 
  yum install libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm -y
 
  (2)编译安装
 
  make && make install ##编译,安装
 
  2.php的配置
 
  (1)创建nginx的用户
 
  useradd nginx
 
  id nginx
 
  (2)在php-fpm的配置文件中打开pid = run/php-fpm.pid
 
  vim /usr/local/lamp/php/etc/php-fpm.conf.default
 
  :pid = run/php-fpm.pid ##25行打开pid
 
  (3)把php-fpm和php的配置文件复制到方便操作的路径
 
  cp php-fpm.conf.default php-fpm.conf
 
  cp php-5.6.35/php.ini-production /usr/local/lamp/php/etc/php.ini
 
  (4)vim php.ini
 
  :
 
  date.timezone =Asia/Shanghai ##修改时区
 
  pdo_mysql.default_socket=/usr/local/lamp/mysql/data/mysql.sock ##php连接mysql的通信接口
 
  mysql.default_socket =/usr/local/lamp/mysql/data/mysql.sock
 
  mysqli.default_socket =/usr/local/lamp/mysql/data/mysql.sock
 
  (5)复制php-fpm的启动脚本到/etc/init.d/
 
  php-fpm:PHP的解释器是php-cgi,php-cgi只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理,所以就出现了一些能够调度php-cgi进程的程序,比如php-fpm是进程管理器,PHP-FPM是一个实现了Fastcgi的程序,Fastcgi会先启一个master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求,这就是fastcgi的对进程的管理。
 
  /etc/init.d/php-fpm start ##开启php-fpm端口9000
 
  (6)查看端口

  四.nginx的安装配置
 
  1.nginx的安装(源码包安装)
 
  tar zxf nginx-1.14.0.tar.gz ##解包
 
  (1)保护nginx的安全
 
  vim src/core/nginx.h ##删除版本号,当外界访问时看不见版本号,增加了安全性
 
  vim auto/cc/gcc
 
  #CFLAGS="$CFLAGS -g" ##注释debug,这样产生的nginx的程序只有几百k
 
  (2)编译
 
  ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --user=nginx --group=nginx
 
  报错解决:
 
  yum install pcre-devel -y
 
  (3)编译安装
 
  make && make install

  2.nginx的配置
 
  (1)vim /usr/local/lamp/nginx/conf/nginx.conf ##nginx的配置文件
 
  以php结尾的访问,让fastcgi去管理这些访问进程,php-fpm的端口是9000,
 
  location / {
 
  root html;
 
  index index.php index.html index.htm; ##php的默认发布目录是index.php
 
  }
 
  (2)重启nginx
 
  nginx ##/usr/local/lamp/nginx/sbin/nginx,nginx的脚本路径
 
  nginx -t ##检验配置文件是否合法
 
  ln -s /usr/local/lamp/nginx/sbin/nginx /usr/local/sbin/ ##方便操作创建nginx的脚本链接到/sbin下
 
  nginx -s reload ##更新配置文件
 
  3.在nginx上验证php是否配置成功
 
  ##物理机访问成功
 
  五.论坛包的配置
 
  1.解压Discuz_X3.2_SC_UTF8.zip到nginx的默认发布目录
 
  unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lamp/nginx/html/
 
  mv upload/ bbs ##把论坛的upload目录更名为bbs
 
  ##网络访问安装界面进行安装mysql系统,点击“我同意”
 
  2.校验目录权限
 
  (1)权限不够
 
  (2)在/usr/local/lamp/nginx/html/bbs目录下设定目录的权限
 
  (3)填写数据库的信息以及管理员的密码
 
  (4)连接mysql数据库(权限不够)
 
  nginx不属于mysql用户组,也不是mysql用户,权限肯定不够,chmod 755 data/
 
  数据库成功安装
 
  六.测试论坛
 
  1.成功登陆 

  记得删除安装的界面install/index.php,避免二次安装

  当再次安装时,已经找不到安装界面
 
  2.论坛的数据也成功接入到mysql数据库
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!