总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html

实战一:搭建lnmp及类小米等商业网站的实现

环境:关闭防火墙,selinux

1、安装包,开启服务

yum -y install nginx mariadb-server php-fpm php-mysql

systemctl start nginx

systemctl start mariadb

systemctl start php-fpm

2、修改nginx的配置文件

(1)cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf 有个模板例子覆盖了配置文件

vim /etc/nginx/nginx.conf 修改下面几类

① user  nobody;   使用用户
error_log /var/log/nginx/error.log info; 错误日志 ② events {
worker_connections ;
} ③ tcp_nopush on; tcp优化
tcp_nodelay on;
gzip on; ④ server {
listen ;
server_name xiaomi.along.com; 根据自己顺便写
root /data/web; 主站点的目录根
location / {
index index.php index.html index.htm;
} ⑤ location ~ \.php$ { 开启.php,配置文件有例子,只需去掉注释,修改一行即可
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

(2)修改完,可以nginx -t 查看

systemctl restart nginx 重启服务,发现有warn

(3)ulimit -n 查看linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值

ulimit -n 65535 修改内核参数

3、修改php-fpm的配置文件

① vim /etc/php.ini 改两行

date.timezone = Asia/Shanghai   时区

short_open_tag = On    允许短标签

② vim /etc/php-fpm.d/www.conf  改两行

user = nobody

group = nobody

③ systemctl restart php-fpm

4、运行mysql ,创建一会网页需要的库

create database xiaomi;

5、把事先找好的小米网站传进来 rz

小米网站的源码资源我已经上传到网盘了http://pan.baidu.com/s/1kUUFp6B ,需要的可以打赏博主一杯咖啡钱,然后私密博主,博主会很快答复的~

mkdir /data/web -p 创建一个目录专门放小米的网页配置

unzip -d /data/web/ xiaomi.zip 解压到目录

cd /data/web/

chown -R nobody.nobody * 为了安全,递归把所有文件的所属人和所属组改为权限有限的nobody

6、网页登录

① 用户:admin

密码:123456

② 参数设置:就是连接上自己的数据库

也可以在命令行连上自己的数据库:

vim /data/web/data/config.php

③ 把数据写到数据库中,恢复数据

7、实验成功,登录查看

后台登录,可以自己随便修改

http://192.168.30.107/admin

8、ab 可以压力测试

ab -c 100 -n 1000  http://192.168.30.107/

实验二:实现ssl 加密

(1)一个物理服务器设置一个https

1、创建存放证书的目录

mkdir /etc/nginx/ssl

2、自签名证书

cd /etc/pki/tls/certs/

make nginx.crt

openssl rsa -in nginx.key -out nginx2.key 因为刚私钥被加密了,为了后边方便,解密

3、把证书和私钥cp 到nginx存放证书目录

cp nginx.crt nginx2.key /etc/nginx/ssl/

cd /etc/nginx/ssl/

mv nginx2.key nginx.key 把名字改回来

4、修改配置文件,加一段server

server {
  listen ssl;
  server_name www.along.com;
  ssl on;
  ssl_certificate /etc/nginx/ssl/nginx.crt;
  ssl_certificate_key /etc/nginx/ssl/nginx.key;
  ssl_session_cache shared:sslcache:20m;
  ssl_session_timeout 10m;
}

5、测试,网页打开 https://192.168.30.7/

windows 信任证书

(2)因为nginx 强大,可以实现多个虚拟主机基于不同的FQDN 实现ssl加密,httpd不能实现

一个物理服务器设置多个https

1、生成3个证书和私钥

make nginx.crt

make nginx2.crt

make nginx3.crt

2、把证书和私钥cp 到nginx存放证书目录,并解开私钥的加密

cp nginx{1,2,3}* /etc/nginx/ssl/

openssl rsa -in nginx.key -out nginx.key

openssl rsa -in nginx2.key -out nginx2.key

openssl rsa -in nginx3.key -out nginx3.key

3、创建各自对应的访问网页

mkdir /app/website{1,2,3}

echo website1 > /app/website1/index.html

echo website1 > /app/website2/index.html

echo website1 > /app/website3/index.html

4、测试访问,成功

实战三:实现身份验证

1、生成密码账户文件

cd /etc/nginx/conf.d

htpasswd -c -m .htpasswd http1

htpasswd -m .htpasswd http2

2、在配置文件中修改

vim /etc/nginx/nginx.conf 在location段中指向账户密码文件

location /images {
  auth_basic "images site"; "提示字"
  auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
}

3、网页查看验证 http://172.17.22.22/images/loading.gif

项目实战1—LNMP的搭建、nginx的ssl加密、身份验证的实现的更多相关文章

  1. 项目实战1—LNMP的搭建、nginx反向代理和缓存等的实现

    实战一:搭建lnmp及类小米等商业网站的实现 环境:关闭防火墙,selinux 1.安装包,开启服务 yum -y install nginx mariadb-server php-fpm php-m ...

  2. Linux 之 LNMP服务器搭建-Nginx

    LNMP服务器搭建-Nginx 参考教程:[千峰教育] 系统版本: CentOS 6.8 关闭防火墙和Selinux service iptables stop setenforce 安装Nginx ...

  3. nginx配置ssl加密(单双向认证、部分https)

    nginx配置ssl加密(单双向认证.部分https) nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始 ...

  4. [转帖]nginx配置ssl加密(单/双向认证、部分https)

    nginx配置ssl加密(单/双向认证.部分https) https://segmentfault.com/a/1190000002866627   nginx下配置ssl本来是很简单的,无论是去认证 ...

  5. [Docker]docker搭建私有仓库(ssl、身份认证)

    docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...

  6. 项目实战02:LNMP的搭建、nginx的ssl加密、身份验证的实现

    目录 实战一:搭建lnmp及类小米等商业网站的实现 1.安装包,开启服务 2.修改nginx的配置文件 3.修改php-fpm的配置文件 4.运行mysql ,创建一会网页需要的库 5.把事先找好的小 ...

  7. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  8. nginx配置ssl加密(单/双向认证、部分https)

    nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始采用的是全站加密,所有访问http:80的请求强制转换( ...

  9. 【Robot Framework 项目实战 00】环境搭建

    前言 我们公司在推广RF这个框架做后端接口测试,力求让同事们能更快的完成服务端需求的自动化,作为主导者之一,决定分享一些经验,方便后来者. 我会从安装部署.Request.selenium.自定义框架 ...

随机推荐

  1. FeatureTools

    featuretools一种自动特征工程的工具.可快速生成较多类型的特征,取得不错的效果. 1.输入:把原始数据转换成featuretools的输入 2. 可以适当调整特征个数,防止训练的模型过拟合 ...

  2. spring深入学习(四)-----spring aop

    AOP概述 aop其实就是面向切面编程,举个例子,比如项目中有n个方法是对外提供http服务的,那么如果我需要对这些http服务进行响应时间的监控,按照传统的方式就是每个方法中添加相应的逻辑,但是这些 ...

  3. Mybatis第二天

    Mybatis第二天   框架课程 1. 课程计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Fore ...

  4. usb2.0、usb3.0、usb3.1、type-c 接口含义与区别

    简单说: usb3.0 比2.0的传输速率快,充电快,能向下兼容2.0 usb3.1 通常是指 usb3.1 gen2,比3.0的传输速率更快.充电更快,同兼容 type-c 通常是指 usb3.1的 ...

  5. 20155205 郝博雅 Exp6 信息搜集与漏洞扫描

    20155205 郝博雅 Exp6 信息搜集与漏洞扫描 一.实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务 ...

  6. web项目中对post请求乱码处理

    <filter> <filter-name>characterEncoding</filter-name> <filter-class>org.spri ...

  7. Python基础-if判断以及其他循环

    if else 判断: #!/usr/bin/env python # -*- coding:utf-8 -*- import getpass name = input("用户名??&quo ...

  8. 升讯威微信营销系统开发实践:订阅号和服务号深入分析( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  9. Laravel 5.6: Specified key was too long error

    Laravel 5.6: Specified key was too long error 在Laravel执行以下命令: php artisan migrate 这是由于Laravel5.6设置了数 ...

  10. Android自定义控件总结

    自定义控件分类: 1.使用系统控件,实现自定义的效果 2.自己定义一个类继承View ,如textView.ImageView等,通过重写相关的方法来实现新的效果 3.自己定义一个类继承ViewGro ...