zoukankan      html  css  js  c++  java
  • LNMP

    一. 安装nginx服务

    1. 进行nginx软件下载

    cd   /opt

    wget http://nginx.org/download/nginx-1.12.2.tar.gz

    2.安装依赖软件

    yum install -y pcre-devel openssl-devel

    3.解压软件,创建虚拟用户,进行编译安装

    命令:(解压)tar xf nginx-1.12.2.tar.gz

    命令:(检查)ll  /server/tools

    drwxr-xr-x 8 1001 1001   4096 Oct 17 21:16 nginx-1.12.2

    -rw-r--r-- 1 root root 981687 Oct 17 21:20 nginx-1.12.2.tar.gz

    命令:(切换)cd nginx-1.12.2/

    命令:(查看路径)pwd

    /opt/nginx-1.12.2

    4.创建nginx管理用户

    命令:(创建虚拟管理用户)useradd -s /sbin/nologin -M www

    5.创建nginx命令安装的所在地

    命令:(创建)mkdir  -p /application/nginx-1.12.2/

    6.进行指定nginx安装参数

    ./configure --prefix=/application/nginx-1.12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module

    配置参数说明:

    --prefix=PATH                      set installation prefix

                                          指定软件程序安装的路径信息

    --user=USER                        set non-privileged user for

                                        worker processes

                                       创建一个虚拟用户,用于管理nginx服务的worker进程

    --group=GROUP                      set non-privileged group for

                                          worker processes

                                    创建一个虚拟用户组,用于管理nginx服务的worker进程

    --with-http_ssl_module             enable ngx_http_ssl_module

                           让nginx服务可以支持https访问

    --with-http_stub_status_module     enable ngx_http_stub_status_module

                           便于监控软件监视nginx服务运行状态

    说明:编译过程实质是将各种程序语言转换为系统可以识别的二进制信息

    7.进行编译

    把代码---->二进制

    make

    8.编译安装

    make install

    9.创建程序目录软链接文件

    cd   /application/  &&  ln -s /application/nginx-1.12.2/ /application/nginx

    ll /application/

    total 4

    lrwxrwxrwx 1 root root   26 Feb  2 17:14 nginx -> /application/nginx-1.12.2/

    drwxr-xr-x 6 root root 4096 Feb  2 17:13 nginx-1.12.2

    10.网站服务启动成功

    /application/nginx/sbin/nginx   

    加入开机自启

    echo 'export PATH=$PATH:/application/nginx/sbin' >>/etc/profile

     source /etc/profile

    11.:检查测试

    进程检查:

    ps -ef |grep nginx

    root       6948      1  0 17:17 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx

    www        6949   6948  0 17:17 ?          00:00:00 nginx: worker process       

    root       6951   1279  0 17:17 pts/1        00:00:00 grep nginx     

    说明:master进程表示nginx主进程,负责nginx服务的启动 停止等操作

     worker进程表示真正处理用户请求的进程

    检查80端口是否开启

    netstat -lntup|grep nginx

    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      12684/nginx 

    12.检查nginx软件是否安装成功

    windows   192.168.198.137

    欢迎使用nginx的界面

    13.基于域名的虚拟主机配置

    pwd

    /application/nginx/conf

    进行nginx的配置文件的备份

    cp nginx.conf{,.bak}

    进行nginx的配置文件的简化

    egrep -v "#|^$" nginx.conf.bak >nginx.conf   

    =========(配置nginx配置文件)===========

    vim  nginx.conf (配置nginx的配置文件的主配置文件)

    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  www.huchangxi.com;

            root   html/blog;

            index  index.html index.htm;

        }

    }

    14.网站目录和文件环境准备

    创建站点目录:

    mkdir  -p  /application/nginx/html/blog

    输入静态文字:

    touch /application/nginx/html/blog/index.html 

    vim /application/nginx/html/blog/index.html 

    192.168.198.137  web www.dada.com

    检查:                 

    cat /application/nginx/html/blog/index.html 

    192.168.198.137 web www.dada.com

    15.检查配置文件语法,进行服务重启或者启动

    /application/nginx/sbin/nginx -t                   检查语法

    nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok

    nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful

    /application/nginx/sbin/nginx  -s reload                   

    利用curl或者浏览器进行访问测试

    需要对虚拟主机域名进行解析(编写hosts文件-linux/ windows里面hosts)

    添加blog的解析

    命令:(添加)vim   /etc/hosts   

    192.168.198.137 www.dada.com

    16.设置开机自启nginx服务

    把启动nginx的命令添加到/etc/rc.local开启自启动里

    命令:  vim  /etc/rc.local

    /application/nginx/sbin/nginx

    进行文件授权

    chmod  +x  /etc/rc.local

    二.安装MySQL服务

    1.进行编译下载MySQL软件

    把安装包上传到/opt目录中

    2.解压软件程序

    cd  /opt

    tar  xf  mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

    ll 

    drwxr-xr-x 13 root root      4096 Feb  7 15:19 mysql-5.6.34-linux-glibc2.5-x86_64

    -rw-r--r-- 1 root root 314149697 Mar 23  2017 mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz

    3:将解压后的程序目录移动到/application/目录中,创建软连接

    cp  -r  mysql-5.6.34-linux-glibc2.5-x86_64 /application/

    mv  /application/ mysql-5.6.34-linux-glibc2.5-x86_64      /application/ mysql-5.6.34       

    创软连接

    ln -s /application/mysql-5.6.34/ /application/mysql

    ll /application/

    lrwxrwxrwx  1 root root   48 Feb  6 20:18 mysql -> /application/mysql-5.6.34-linux-glibc2.5-x86_64/

    drwxr-xr-x 13 root root 4096 Feb  6 20:18 mysql-5.6.34-linux-glibc2.5-x86_64

    4.创建数据目录管理用户

    useradd -M -s /sbin/nologin mysql

    进行数据目录授权

    chown -R mysql.mysql /application/mysql/data/

    5.初始化数据库程序

    1. 确认软件安装在哪里

    2. 确认数据存放在哪里

    3. 确认MySQL使用的用户谁?(/server/scripts)

    初始化

    /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

    6.复制启动脚本,并且进行授权

    cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld

    进行添加执行权限

    chmod +x /etc/init.d/mysqld

    7.修改启动脚本 和 mysql命令中的路径

    sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

    8.复制默认的配置文件

    进行添加配置文件

    cp /application/mysql/support-files/my-default.cnf /etc/my.cnf

    9.启动mysql服务并添加mysql的命令的绝对路径

    /etc/init.d/mysqld start

    添加路径

    echo  "export PATH=/application/mysql/bin:$PATH" >>/etc/profile

    生效

    source   /etc/profile

    10.给数据库设置一个密码(在mysql启动后配置)

    /application/mysql/bin/mysqladmin -u root password 'password'

    11.进入数据库

    mysql  -uroot  -p1234356

    Warning: Using a password on the command line interface can be insecure.

    Welcome to the MySQL monitor.  Commands end with ; or g.

    Your MySQL connection id is 16

    Server version: 5.6.34 MySQL Community Server (GPL)

    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its

    affiliates. Other names may be trademarks of their respective

    owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    mysql>

    12.添加mysql服务开机自启

    因为mysql的配置文件已经放到/etc/init.d/目录下了,并且经过了授权

    命令:(让chkconfig管理)chkconfig --add mysqld

    命令:(设置mysql开机自启)chkconfig mysqld on

    数据库的基本操作

    show databases;                <--- 查询默认的数据库信息

    create database oldboy;        <---创建新的数据库

    drop database oldboy;          <---删除存在的数据库

    use mysql;                     <--- 表示选择使用一个数据库,相当于cd进入一个数据库

    show tables;                  <---查看数据库中表信息

    select database();             <--- 表示查看当前所在数据库,类似于pwd命令的功能

    select user();                 <--- 查看当前登录数据库的用户,类似于whoami命令

                                        并且mysql还可以限制指定用户可以从哪里进行连接登录数据库

    select * from userG;          <---查看user表中所有信息,并且纵行显示

    select user,host from user;         ---查看user表中指定信息,并且横行显示

    select user,host from mysql.user;   ---查看可以登录mysql数据库的目录,以及都可以从哪里进行管理mysql数据库

    grant all on *.* to user@'host' identified by 'oldboy123';           ---创建用户

    grant all on *.* to Old_Boy@'localhost' identified by 'oldboy123';   ---创建用户(大写用户)

    drop user 'user'@'host';

    flush privileges;                  --- 刷新权限

    三.安装PHP

    1.进行编译下载到/server/tools/目录中

    上传到/opt目录中

    2.安装PHP软件的依赖关系

    yum  install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

    rpm -qa zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel

    3.libiconv软件安装---字符集转换库(默认可以不进行安装了)

    cd  /opt

    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    tar zxf libiconv-1.14.tar.gz

    cd /opt/libiconv-1.14

    /opt/libiconv-1.14/configure --prefix=/usr/local/libiconv

    Make(会有报错,详细看我的另一个博客:https://www.cnblogs.com/A121/p/10069601.html)

    make install

    cd   /opt/

    yum  install libmcrypt-devel mhash mcrypt   -y

    rpm -qa libmcrypt-devel mhash mcrypt

    4.下载解压PHP软件

    cd /opt/

    tar xf php-5.5.32.tar.gz

    cd /opt/php-5.5.32

    命令:(进行配置)

    ./configure
    --prefix=/application/php-5.5.32
    --with-mysql=mysqlnd
    --with-pdo-mysql=mysqlnd
    --with-iconv-dir=/usr/local/libiconv
    --with-freetype-dir
    --with-jpeg-dir
    --with-png-dir
    --with-zlib
    --with-libxml-dir=/usr
    --enable-xml
    --disable-rpath
    --enable-bcmath
    --enable-shmop
    --enable-sysvsem
    --enable-inline-optimization
    --with-curl
    --enable-mbregex
    --enable-fpm
    --enable-mbstring
    --with-mcrypt
    --with-gd
    --enable-gd-native-ttf
    --with-openssl
    --with-mhash
    --enable-pcntl
    --enable-sockets
    --with-xmlrpc
    --enable-soap
    --enable-short-tags
    --enable-static
    --with-xsl
    --with-fpm-user=www
    --with-fpm-group=www
    --enable-ftp
    --enable-opcache=no

    注:说明:LNMP架构部署时,如果mysql服务和web服务不在一台主机上,php配置参数需要进行调整

                  --with-mysql=/application/mysql/  =>  --with-mysql=mysqlnd

    ===========================================================

    PHP扩展参数:(配置没有问题可以省略以下配置参数,以下参数和PHP优化有关)

                  --with-curlwrappers

            --enable-zip

            --enable-zend-multibyte

    怕出错(防错)(以下信息可以不进行配置了)

    命令:(创建软连接)ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/

    命令:(创建文件)touch ext/phar/phar.phar

    命令:(进行翻译php)make

    命令:(进行编译安装php)make install

    PHP软件程序创建软链接

    命令:(进行移动)cp -r /opt/php-5.5.32  /application/

    命令:(创建软连接)ln -s /application/php-5.5.32/ /application/php

    配置php解析文件/配置php-fpm配置文件

    命令:(切换)cd /opt/php-5.5.32

    命令:(查看)ll php.ini*

    -rw-r--r--. 1 1001 1001 69236 2016-02-02 21:33 php.ini-development

    -rw-r--r--. 1 1001 1001 69266 2016-02-02 21:33 php.ini-production

    (php.ini-developments是开发人员调试用配置文件,php.ini-production是生产常见所有配置文件)

    命令:(复制)cp php.ini-production /application/php/lib/php.ini

    php.ini-production 与 php.ini-development 文件区别关系对比

    扩展:文件比较命令 diff zdiff vimdiff windows上的文件比较

    命令:(切换)cd /application/php/etc/

    命令:(切换)cp php-fpm.conf.default php-fpm.conf

    (以下内容看情况)

    # 编译安装PHP时,若配置未正确指定PHP进程用户信息,可以修改PHP文件进行调整

    sed -i 's#user = www#user = nginx#g;s#group = www#group = nginx#g' /application/php-5.5.32/etc/php-fpm.conf

    启动php-fpm程序

    命令:(启动)/application/php/sbin/php-fpm     

    命令:(进行检查端口)lsof -i :9000                    <--- 确认php 9000端口是否正确

    LNMP架构环境部署完成

    四.wordpress博客站点部署配置

    1.nginx与php建立连接

    vim /application/nginx/conf/nginx.conf

    worker_processes 1;
    events {
    worker_connections 1024;
    }
    http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
    server {
    listen 80;
    server_name blog.etiantian.org;
    root html/blog;
    index index.php index.html index.htm;
    access_log logs/access.log main;
    location ~ .*.(php|php5)?$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }

    }
    }

    注:上面的配置文件可以修改

    index  index.html index.htm;     <-- 需要注意编辑修改默认首页文件  index  index.php index.html index.htm;

    编辑nginx与php连通性测试文件,并进行测试

    cd /application/nginx/html/blog/

    echo '<?php phpinfo(); ?>'  >/application/nginx/html/blog/test_info.php

    测试站点

    curl  http://blog.etiantian.org/index.html            <-- 静态请求站点文件信息测试    

    curl  http://blog.etiantian.org/test_info.php         <-- 动态请求站点文件信息测试

    说明:当php服务停止时,9000端口信息消失,即停止PHP错误报502错误

    linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些

    编辑php与mysql连通性测试文件,并进行测试

    cd /application/nginx/html/blog/

    echo '<?php phpinfo(); ?>'  >/application/nginx/html/blog/test_info.php

    测试站点

    curl  http://blog.etiantian.org/index.html            <-- 静态请求站点文件信息测试    

    curl  http://blog.etiantian.org/test_info.php         <-- 动态请求站点文件信息测试

    说明:当php服务停止时,9000端口信息消失,即停止PHP错误报502错误

    linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些

    注:上面的配置文件可以修改

    index  index.html index.htm;     <-- 需要注意编辑修改默认首页文件  index  index.php index.html index.htm;

    编辑nginx与php连通性测试文件,并进行测试

    cd /application/nginx/html/blog/

    echo '<?php phpinfo(); ?>'  >/application/nginx/html/blog/test_info.php

    测试站点

    curl  http://blog.etiantian.org/index.html            <-- 静态请求站点文件信息测试    

    curl  http://blog.etiantian.org/test_info.php         <-- 动态请求站点文件信息测试

    说明:当php服务停止时,9000端口信息消失,即停止PHP错误报502错误

    linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些

    编辑php与mysql连通性测试文件,并进行测试

    cd /application/nginx/html/blog/

    echo '<?php phpinfo(); ?>'  >/application/nginx/html/blog/test_info.php

    测试站点

    curl  http://blog.etiantian.org/index.html            <-- 静态请求站点文件信息测试    

    curl  http://blog.etiantian.org/test_info.php         <-- 动态请求站点文件信息测试

    说明:当php服务停止时,9000端口信息消失,即停止PHP错误报502错误

    linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些

    下载部署wordpress博客程序

    下载部署wordpress博客程序(https://cn.wordpress.org/   英文官网:https://www.wordpress.org/ )

     wget https://cn.wordpress.org/wordpress-4.5.1-zh_CN.tar.gz

    tar xf wordpress-4.5.1-zh_CN.tar.gz              解压

    mv wordpress/*  /application/nginx/html/blog/    移动

     chown -R www.www /application/nginx/html/blog/  授权

    注意:确认hosts文件进行了解析

    浏览器页面进行wordpress部署      

    浏览器页面进行wordpress部署:http://blog.etiantian.org/

    登录主页面点击直接就可以生成wp-config.php配置文件

    vim wp-config.php  可以修改wordpress上的数据库连接参数信息  

    编辑php与mysql连通性测试文件,并进行测试

    创建数据库

    命令:(进入mysql)mysql -uroot -p123456;

    命令:(查看当前的mysql信息)show databases;                      <--- 查看当前数据库信息

    命令:(创建库)create database wordpress;

    添加用户信息

    grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';  授权本地

    grant all on wordpress.* to 'wordpress'@'172.16.1.0/255.255.255.0' identified by 'oldboy123';  授权远程

    flush privileges;

    drop user wordpress@'172.16.1.8';    <--- 删除用户信息

    select user,host from mysql.user;    <--- 查看用户信息

    mysql -uwordpress -p123456           <--- 测试创建的用户连接

    show databases;                      <--- 查看当前数据库信息

    delete from mysql.user where user='wordpress' and host='localhost';  删除用户信息          

    利用mysql命令进行指定用户登录测试

    /application/mysql/bin/mysql -uwordpress -poldboy123       绝对路径登录MySQL数据库

    测试php与mysql数据库连通性

    # cd  /application/nginx-1.12.2/html/blog

     vim test_mysql.php

    <?php

    //$link_id=mysql_connect('主机名','用户','密码');

    //mysql -u用户 -p密码 -h 主机

    $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();

    if($link_id){

                 echo "mysql successful by oldboy ! ";

                }else{

                 echo mysql_error();

                }

    ?>

    测试:

    curl blog.etiantian.org/test_mysql.php       <-- 测试php与数据库的连通性            

    五。搭建网站流程:

    blog

    1.要有网站代码(向开发人员要)

    博客软件见压缩包

    tar xf wordpress-4.7.3-zh_CN.tar.gz

    2.进入到代码程序目录中,将代码信息移动到站点目录下

    mv ./* /application/nginx/html/blog/

    3.修改站点目录权限

    chown -R www.www /application/nginx/html/blog/

    4.进行网站初始化

    create database wordpress;

    grant all on wordpress.* to 'wordpress'@'192.168.198.%' identified by '123456';

    grant all on wordpress.* to 'wordpress'@'localhost' identified by '123456';

    flush privileges;

  • 相关阅读:
    数据结构-循环队列(Python实现)
    数据结构-堆栈和队列最简单的实现(Python实现)
    数据结构-双向链表(Python实现)
    ArrayList集合对象的sort()方法
    编写泛型
    super通配符
    面向对象(上)综合练习1:银行存取
    面向对象(上)综合练习1:Account和Customer
    泛型之extends通配符
    Comparable<T>泛型接口之实现按name或者age进行排序
  • 原文地址:https://www.cnblogs.com/A121/p/10083946.html
Copyright © 2011-2022 走看看