LNMP的虚拟主机配置http和https

项目实战:
    搭建LNMP环境:Linux+Nginx+Mysql(MariaDB)+php(php-fpm),创建多个虚拟主机:
    主机1提供正常的http服务,用于安装wordpress博客;
    主机2提供正常的https服务,用于安装phpMyAdmin,用图形界面去管理MySQL(MariaDB)数据库;

项目实战步骤:
1.安装nginx:
    (1)使用已经下载好的nginx的rpm包进行安装:
        CentOS6:yum install -y nginx-1.6.2-1.el6.ngx.x86_64.rpm
        CentOS7:yum install -y nginx-1.10.0-1.el7.ngx.x86_64.rpm
    (2)使用阿里云的epel源进行直接安装
        CentOS6:http://mirrors.aliyun.com/epel/6/x86_64
        CentOS7:http://mirrors.aliyun.com/epel/7/x86_64
        yum -y install nginx
2.安装数据库:
        CentOS6:yum -y install mysql mysql-server
        CentOS7:yum -y install mariadb mariadb-server
        vim /etc/my.cnf
        [mysqld]
        skip_name_resolve=ON
        innodb_file_per_table=ON
        mysql_secure_installation(启动服务之后,进行初始化mysql数据库)
3.安装php的插件:
        yum install -y php-fpm php-mysql php-gd php-mcrypt php-mbstring
4.启动服务:
        CentOS6:
            service nginx start
            service mysqld start
            service php-fpm start
        CentOS7:
            systemctl start nginx.service
            systemctl start mariadb.service
            systemctl start php-fpm.service
5.关闭防火墙和SELinux:
        iptables -F
        setenforce 0
6.http配置wordpress;
    (1)配置php-fpm:
        vim /etc/php-fpm.d/www.conf
        将里面的user和group 由apache更改为nginx
        创建/var/lib/php/session并将其属主属组更改为nginx
        mkdir /var/lib/nginx/session
        chown -R nginx:nginx /var/lib/nginx/session
        systemctl restart php-fpm.service 
    (2)配置php-fpm的虚拟主机:
        将默认的default.conf进行备份:
        mv /etc/nginx/conf.d/default.conf{,.bak}
        新创建虚拟nginx主机的配置文件:
        vim /etc/nginx/conf.d/wordpress.conf
        server {
            listen 80;
            server_name www.sjsir.com;
            location / {
                root /var/www/html;
                index index.php index.html index.htm; 
            }
            location ~* \.(php)$ {
                root /var/www/html;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
                include fastcgi_params; 
            }

        }
    (3)搭建wordpress;(wordpress-4.6.1.zip设置界面为英文版)
        cd /var/www/html
        rz wordpress-4.6.1.zip
        unzip wordpress-4.6.1.zip
        rm -rf wordpress-4.6.1.zip
        mv wordpress/* .
    (4)为wordpress创建mysql数据库的数据;
        #mysql -uroot -p(root用户的mysql密码)
        mysql>CREATE DATABASE wordpress;
        mysql>GRANT ALL ON wordpress.* TO 'wordpress'@'127.0.0.1' IDENTIFIED BY 'wordpresspass';
        mysql>exit
    (5)用浏览器访问192.168.1.104:
        点击Let's go!
        blob.png

        按照之前设置的信息,将下面修改正确,之后Submit;

        blob.pngimages\4-2.png
        将上图蓝色中的内容复制下来,并创建后粘贴到/var/www/html/wp-config.php

        blob.pngimages\4-3.png
            vim /var/www/html/wp-config.php
            粘贴到此处
            回到浏览器点击Run the install 
            按照下图填入必要信息:
         blob.png

            然后会出现以下页面,表示安装成功;
        blob.png   
            登录wordpress,会发现英文版的wordpress-4.6.1已经安装成功:

        blob.pngimages\4-6.png
7.https配置pma:
    (1)配置pma的虚拟主机:
        server {
            listen 443 ssl;
            server_name www.sjsir.wang;
            ssl on;
            ssl_certificate /etc/nginx/ssl/nginx.crt;
            ssl_certificate_key /etc/nginx/ssl/nginx.key;
            ssl_session_cache shared:sslcache:20m;
            location / {
                root /var/www/pma;
                index index.php index.html index.htm;
            }
            location ~* \.(php)$ {
                root /var/www/pma;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/pma$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    (2)配置https:
        cd /etc/pki/CA/
        (umask 077;openssl -out private/cakey.pem 4096)
        openssl genrsa -new -x509 private/cakey.pem -out cecurt.pem
            CN Beijing Beijing Sjsir Ops ca.sjsir.cn
        touch index.txt
        echo 01 > serial
        cd /etc/nginx
        mkdir ssl
        cd ssl
        (umask 077;openssl genrsa -out nginx.key 4096)
        openssl req -new -key nginx.key -out nginx.csr

            CN Beijing Beijing Sjsir Ops ca.sjsir.cn

       openssl ca -in nginx.csr -out nginx.crt
    (3)配置pma:
        mkdir /var/www/pma
        cd /var/www/pma
        rz phpMyAdmin-4.0.5-all-languages.zip
        unzip phpMyAdmin-4.0.5-all-languages.zip
        mv phpMyAdmin/* .
        rm -rf phpMyAdmin/
        mv config.sample.inc.php config.inc.php 
    (4)测试:https://192.168.1.104
        就可以看到:

       blob.png
        输入账号和密码登录进去,就可以看到mariadb数据库:
        blob.png        
    注意:
        (1)在实验之前一定要关闭防火墙和SELinux,以免系统因为iptables和SELinux的设置而连接不上;
        (2)配置pma时,一定要配置php的fastcgi模块,或单独的php模块,不配置的话,用php编写的pma就无法使用;
        (3)配置pma时,一定要安装php-mcrypt模块,该模块位于epel源中(以阿里云的7系列的epel源:http://mirrors.aliyun.com/epel/7/x86_64)。
        (4)搭建该实验环境时,应该注意参考日志文件,以确定发生什么样的问题,/var/log/messages /var/log/nginx/error.log /var/log/nginx/access.log
            当测试时,发现无法连接服务器,例如500的错误,需要查看/var/log/nginx/error.log
            当测试时,发现页面能打开,但是不正常显示,而且/var/log/nginx/error.log日志无日志记录时,一定要去查看/var/log/nginx/access.log日志信息。有时服务器已经响应了,但是可能由于wordpress或pma的安装包配置的问题而报错,error.log不会存储这些已经响应的日志,需要去查看access.log。

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/56083

(0)
上一篇 2016-10-30 16:48
下一篇 2016-10-30 16:52

相关推荐

  • iptables/netfilter基于layer7实现应用层过滤

    前言 做为网络管理员,对P2P、QQ、酷狗等软件是又爱又恨,大多数公司为了提高工作效率,禁止公司员工登陆QQ、看视频等,在市场上买专门的上网行为管理设备,随便一种都是价格不菲,而使用linux来做网关一样可以禁止qq、酷狗等软件,为实现此功能就需要为iptables/netfilter添加layer7模块,而iptables/netfilter是基于内核的,…

    Linux干货 2015-04-27
  • ansible

    运维工具介绍 Ansible Ansible优点:  Agentless       (去中心化)  Stupied Simple (上手简单,学习曲线平滑)  SSH by default (安全,无需安装客户端)  YAML no code,定制剧本 (语法简单,维护方便) 自动工具衍…

    Linux干货 2017-05-23
  • 获取linux命令帮助的方法

    1.help command 适用于内建命令。 2.command -hlep 适用于外部命令。 3.info command 适用于外部命令。 4.man command 适用外部命令和内建命令。     man帮助命令分章节             centos7:man 1…

    Linux干货 2017-08-19
  • 生产环境日志审计

         日志审计,就是记录所有系统和相关用户行为的信息,并且可以自动分析,处理。在中小企业环境中,一般都是在单个服务器上记录日志,而大型企业的生产环境当中,会有专门的日志服务器乃至集群。本文通过sudo配合centos自带的rsyslog(syslog)服务,进行日志审计。    &nb…

    Linux干货 2016-10-20
  • 集群-基础知识(1)

    背景 随着互联网访问量的急剧增加,单台服务器的能力已严重不能满足需求。则需要从两个方面考虑提高服务能力:1、向上扩展,2、向外扩展 向上扩展的缺点: 1、造价高 2、随着性能的提高,会在某个临界点遇到瓶颈,导致性能随后降低。 向外扩展的优点: 1、造价低 2、提供高并发能力和高可用性 3、可扩展性好。 分类 负载均衡集群(Load Balance) 高可用集…

    Linux干货 2015-11-26
  • 回溯法 -数据结构与算法

    1.回溯法算法思想: 定义:         回溯法(探索与回溯法)是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 1、回溯法适用:有许多问题,当需要找出它的解集(…

    Linux干货 2015-04-07