项目实战1—LNMP的搭建、nginx的ssl加密、身份验证的实现
总项目流程图,详见 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—LNMP的搭建、nginx反向代理和缓存等的实现
实战一:搭建lnmp及类小米等商业网站的实现 环境:关闭防火墙,selinux 1.安装包,开启服务 yum -y install nginx mariadb-server php-fpm php-m ...
- Linux 之 LNMP服务器搭建-Nginx
LNMP服务器搭建-Nginx 参考教程:[千峰教育] 系统版本: CentOS 6.8 关闭防火墙和Selinux service iptables stop setenforce 安装Nginx ...
- nginx配置ssl加密(单双向认证、部分https)
nginx配置ssl加密(单双向认证.部分https) nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始 ...
- [转帖]nginx配置ssl加密(单/双向认证、部分https)
nginx配置ssl加密(单/双向认证.部分https) https://segmentfault.com/a/1190000002866627 nginx下配置ssl本来是很简单的,无论是去认证 ...
- [Docker]docker搭建私有仓库(ssl、身份认证)
docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...
- 项目实战02:LNMP的搭建、nginx的ssl加密、身份验证的实现
目录 实战一:搭建lnmp及类小米等商业网站的实现 1.安装包,开启服务 2.修改nginx的配置文件 3.修改php-fpm的配置文件 4.运行mysql ,创建一会网页需要的库 5.把事先找好的小 ...
- LNMP平台搭建---Nginx安装篇
在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...
- nginx配置ssl加密(单/双向认证、部分https)
nginx下配置ssl本来是很简单的,无论是去认证中心买SSL安全证书还是自签署证书,但最近公司OA的一个需求,得以有个机会实际折腾一番.一开始采用的是全站加密,所有访问http:80的请求强制转换( ...
- 【Robot Framework 项目实战 00】环境搭建
前言 我们公司在推广RF这个框架做后端接口测试,力求让同事们能更快的完成服务端需求的自动化,作为主导者之一,决定分享一些经验,方便后来者. 我会从安装部署.Request.selenium.自定义框架 ...
随机推荐
- PS扣签名
1.用PS打开签名: 2.在图层界面切换到[通道],选择一个黑白分明或者明暗明显的签名图通道.按着“Ctrl”键就会显示出手指和方块的图标,按键的同时左击一下选择的通道: 3.切换到第一项的[图层]界 ...
- python 0228
01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑. 飞机 内存:临时存储数据. 8g,16g, 高铁 1,成本高. 2,断电即消失. 硬盘:长期存储大量的数据. 1T 512G等等 ...
- 09-JS的事件流的概念(重点)
在学习jQuery的事件之前,大家必须要对JS的事件有所了解.看下文 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以 ...
- Monkey测试结果分析
Monkey测试结果分析 什么是monkey Monkey 测试是 Android 自动化测试的手段之一,它通过模拟用户的按键输入.触摸屏输入等,测试设备多长时间出现异常.Monkey 是一个命令行工 ...
- 升讯威微信营销系统开发实践:(1)功能概要与架构设计( 完整开源于 Github)
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...
- Spring-Data-Jpa环境配置与实际应用
上次我们讲述了<Spring-Data-Jpa概述与接口>,接下来我们再讲讲Spring-Data-Jpa环境配置与实际应用. Spring-Data 方法定义规范与使用配置 简单条件查询 ...
- laravel migrate时报错:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
今天在学习laravel的路由模型绑定时,在按照文档执行php artisan migrate时报错. In Connection.php line 664: SQLSTATE[42000]: Syn ...
- Windows 系统中的 CMD 黑窗口简单介绍
简介 DOS是磁盘操作系统的缩写,是个人计算机上的一类操作系统DOS命令,是DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令.磁盘操作类命令.文件操作类命令和其它命令.DOS系统 ...
- spring中的mybatis的sqlSession是如何做到线程隔离的?
项目中常常使用mybatis配合spring进行数据库操作,但是我们知道,数据的操作是要求做到线程安全的,而且按照原来的jdbc的使用方式,每次操作完成之后都要将连接关闭,但是实际使用中我们并没有这么 ...
- vmware中nat模式中使用静态ip后无法上网的问题
在/etc/network/interfaces中添加静态ip auto eth0iface eth0 inet staticaddress 192.168.31.133netmask 255.255 ...