zoukankan      html  css  js  c++  java
  • linux 部署lnmp平台

    虚拟主机

    分类

    • 基于域名:多个域名解析为一个ip地址,不同域名访问不同网站
    • 基于IP地址:服务器拥有多个IP地址,不同IP地址访问到不同网站内容
    • 基于端口:根据IP地址的不同端口访问

    nginx实验

    • 基于域名

      #创建新的HTML文件
      mkdir /usr/local/nginx/html/linuxwei 
      mkdir /usr/local/nginx/html/cloud
      echo "<h1>www.linuxwei.com</h1>" > /usr/local/nginx/html/linuxwei/index.html
      echo "<h1>www.cloud.com</h1>" > /usr/local/nginx/html/cloud/index.html
      
      #对nginx.conf配置
      server {
              listen  80;
              server_name  www.linuxwei.com;
        
              location / {
              root  html/linuxwei;
              index  index.html  index.htm;
              }
      }
      
      server {
              listen  80;
              server_name  www.cloud.com;
        
              location / {
              root  html/cloud;
              index  index.html  index.htm;
              }
      }
      
      #在linux解析中添加域名
      /etc/hosts
      192.168.200.18  www.linuxwei.com
      192.168.200.18  www.cloud.com
      
      #在本机服务中添加解析
      本机c盘里的hosts中添加解析域名
      
    • 基于端口

      #修改nginx.conf配置中的IP地址的端口
      
    • 基于IP地址

      #在本机中添加子ip
      ./ifconfig ens33:1 192.168.200.118
      #修改nginx.conf配置中的ip
      netstart -lnotu | grep nginx
      #查看端口
      

    安装mysql数据库及其部署

    • 安装mysql数据库

      • 检查以前是否安装过
        rpm -q mysql mysql-server mariadb mariadb-server

      • 安装配置工具cmake
        yum -y install cmake

      • 创建运行用户
        useradd -M -s /sbin/nologin mysql

      • 解压,配置,编译,安装

      tar xf mysql-0.0.0.tar.gz -C /usr/src/
      cd /usr/src/mysql-0.0.0/
      #解压boost包到/sur/local/boost下
      cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULY_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make -j2 && make install
        
      #进入mysql将属主属组改为mysql用户
      #对/etc/mysql.cnf配置
      [mysqld]
      daradir=/usr/local/mysql/data  #定义工作目录
      socket=/tmp/mysql.sock  #连接文件
      
      [mysqld_safe] #错误日志
      log-error=/usr/local/mysql/data/mysql.log  
      pid-file=/usr/local/mysql/data/mysql.pid
                                           
      #初始化数据库
      ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize           
      //得到密码并保存方便查看
      
      #设置环境变量在mysql里的bin目录下
      echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //profile开机自启动
      
      #添加系统服务
      进入mysql-0.0.0 cp support-files/mysql-server /etc/init.d/mysqld 
      //给mysqld提高可执行权限
      chmod +x mysqld
      //启动 /etc/init.d/mysqld start
      查看端口3306
      
      #修改密码
      mysqladmin -u root -p"密码" password'123123'
      mysql -uroot -p123123  #进入mysql
      

    安装PHP解析环境

    • 编译安装PHP

      yum -y istall gd libxml2-devel libjpeg-devel libpng-devel
      tar xf php-0.0.0.0.tar.gz -C /usr/src/
      cd /usr/src/php-0.0.0.0
      ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make -j2 && make install
      
    • 调整

      cp php.ini-production /usr/local/php5/php.ini
      ln -s /usr/local/php5/bin/* /usr/local/bin/
      ln -s /usr/local/php5/sbin/* /usr/local/sbin/
      
    • 安装zendguardlander :提高php解析效率

      tar xf zend*** -C /usr/src/
      cd /usr/src/zend...
      cp ZendGuardLoader.so /usr/local/php5/lib/php
      
    • 配置nginx支持PHP环境
      通过使用PHP的fpm模块来调用本机的PHP环境

      • 端口号:9000
      • 需要先启动php-fpm /usr/local/sbin/php-fpm
      cd /usr/local/php5/etc/
      cp php-fpm.com.default php-fpm  #做一个备份
      useradd -M -s /sbin/nologin php   #做PHP用户
      vim php-fpm.conf  #进入php配置文件
        25  pid = run/php-fpm.pid       #确认PHP文件位置
        149  user = php                 #运行用户 
        150  group = php                #运行组
        241  pm.max_chlldren = 50       #最多空闲进程数
        246  pm.start_servers = 20      #启动时开启的进程数
        251  pm.min_spare_servers = 5   #最少空闲进程数
        256  pm.max_spare_servers = 35  #最大空闲进程数
      
      #启动后查看9000端口
      

      *配置nginx支持PHP解析

      #在server{}端配置中添加location功能
      vim /usr/local/nginx/conf/nginx.conf
      #在注释文件下面配置
      location ~ .php$ {
                root           html;        
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include        fastcgi.conf;
            }
      #在PHP文档下面创建一个测试页面
      vim /usr/local/nginx/html/php.php
      
      #重新启动nginx
      #在页面中查看出现PHP页面成功
      
      • 测试连接数据库
      #添加页面mysql.php
      vim /usr/local/nginx/html/mysql.php
      <?php
      $link=mysqli_connect('localhost','root','123123');  
      if($link) echo"<h1>成功进入mysql</h1>";    
      mysqli_close();
      ?>
      
      mysql -uroot -pmima
      nginx
      #页面查看
      

    LNMP平台部署web应用bbs

    • 安装源码包:也就是写好的代码包,可以直接使用

      unzip ComsenzDiscuz-DiscuzX-master.zip
      cd Discuzx/  #里面的内容就是要使用的代码包
      mv DiscuzX/upload/ /usr/local/nginx/html/bbs  #上传到nginx的HTML目录下
      
      #确认9000-php 80-nginx 3306-mysqld 启动正常
      /192.168.200.18/bbs/install/index.php
      
    • 根据提示在数据库添加用户

      mysql -uroot -pmima
      
      mysql > create database bbs;  #创建库
      mysql > grant all on bbs.* to 'bbs'@'localhost' identified by '123456'  #授权
      mysql > flush privileges;  #刷新
      

    后根据页面提示完成

  • 相关阅读:
    npm, node, pm2 使用笔记
    没加证书的域名通过https访问,错误的访问到有证书的域名项目--已解决
    mysql数据库大表加索引
    上传大文件失败
    ifame 与父页面进行数据交互(跨域)
    windows平台编译PHP及扩展 和 踩过的坑
    vim 使用笔记
    git 在pull/push指定密钥文件
    记一次使用Xshell登陆提示所选用户密钥未在远程主机上注册
    学习网站与参考文档
  • 原文地址:https://www.cnblogs.com/wml3030/p/15271446.html
Copyright © 2011-2022 走看看