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;  #刷新
    

后根据页面提示完成

原文地址:https://www.cnblogs.com/wml3030/p/15271446.html