项目实战02:LNMP的搭建、nginx的ssl加密、身份验证的实现
2017-11-16 11:38
399 查看
目录
实战一:搭建lnmp及类小米等商业网站的实现
1、安装包,开启服务
2、修改nginx的配置文件
3、修改php-fpm的配置文件
4、运行mysql ,创建一会网页需要的库
5、把事先找好的小米网站传进来 rz
6、网页登录
7、实验成功,登录查看
实验二:实现ssl 加密
1、创建存放证书的目录
2、自签名证书
3、把证书和私钥cp 到nginx存放证书目录
4、修改配置文件,加一段server
5、测试,网页打开 https://192.168.30.7/
实战三:实现身份验证
1、生成密码账户文件
2、在配置文件中修改
3、网页查看验证 http://172.17.22.22/images/loading.gif
总项目流程图,详见http://www.cnblogs.com/along21/p/7435612.html
回到顶部
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
vim /etc/nginx/nginx.conf 修改下面几类
① user nobody; 使用用户
error_log /var/log/nginx/error.log info; 错误日志
② events {
① user nobody; 使用用户
error_log /var/log/nginx/error.log info; 错误日志
② events {
worker_connections 65535;
}
③ tcp_nopush on; tcp优化
tcp_nodelay on;
gzip on;
④ server {
listen 80;
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:9000;
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 修改内核参数
date.timezone = Asia/Shanghai 时区
short_open_tag = On 允许短标签
② vim /etc/php-fpm.d/www.conf 改两行
user = nobody
group = nobody
③ systemctl restart php-fpm
mkdir /data/web -p 创建一个目录专门放小米的网页配置
unzip -d /data/web/ xiaomi.zip 解压到目录
cd /data/web/
chown -R nobody.nobody * 为了安全,递归把所有文件的所属人和所属组改为权限有限的nobody
密码:123456
② 参数设置:就是连接上自己的数据库
也可以在命令行连上自己的数据库:
vim /data/web/data/config.php
③ 把数据写到数据库中,恢复数据
后台登录,可以自己随便修改
http://192.168.30.107/admin
8、ab 可以压力测试
ab -c 100 -n 1000 http://192.168.30.107/
回到顶部
make nginx.crt
openssl rsa -in nginx.key -out nginx2.key 因为刚私钥被加密了,为了后边方便,解密
cd /etc/nginx/ssl/
mv nginx2.key nginx.key 把名字改回来
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、测试访问,成功
回到顶部
htpasswd -c -m .htpasswd http1
htpasswd -m .htpasswd http2
实战一:搭建lnmp及类小米等商业网站的实现
1、安装包,开启服务
2、修改nginx的配置文件
3、修改php-fpm的配置文件
4、运行mysql ,创建一会网页需要的库
5、把事先找好的小米网站传进来 rz
6、网页登录
7、实验成功,登录查看
实验二:实现ssl 加密
1、创建存放证书的目录
2、自签名证书
3、把证书和私钥cp 到nginx存放证书目录
4、修改配置文件,加一段server
5、测试,网页打开 https://192.168.30.7/
实战三:实现身份验证
1、生成密码账户文件
2、在配置文件中修改
3、网页查看验证 http://172.17.22.22/images/loading.gif
总项目流程图,详见http://www.cnblogs.com/along21/p/7435612.html
回到顶部
实战一:搭建lnmp及类小米等商业网站的实现
环境:关闭防火墙,selinux1、安装包,开启服务
yum -y install nginx mariadb-server php-fpm php-mysqlsystemctl 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 {
① user nobody; 使用用户
error_log /var/log/nginx/error.log info; 错误日志
② events {
worker_connections 65535;
}
③ tcp_nopush on; tcp优化
tcp_nodelay on;
gzip on;
④ server {
listen 80;
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:9000;
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)一个物理服务器设置一个https1、创建存放证书的目录
mkdir /etc/nginx/ssl2、自签名证书
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 443 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/
src="https://oscdn.geek-share.com/Uploads/Images/Content/201711/09a762b31a300f909652e135f0a89d8a.png" border="0" >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.dhtpasswd -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
src="https://oscdn.geek-share.com/Uploads/Images/Content/201711/6123c8c88901e82bb22199ad025d10d1.png" border="0" >相关文章推荐
- 项目实战1—LNMP的搭建、nginx的ssl加密、身份验证的实现
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- SSL加密基本身份验证
- WEBLOGIC项目环境搭建+WAR包发布+SSL加密配置
- PHP实现超简单的SSL加密解密、验证及签名的方法示例
- SSL/TLS/WTLS原理(密钥协商的形象化比喻:验证服务器的身份,用服务器的公钥协商加密格式,然后再加密具体的消息,TCP传递SSL处理后的数据)good
- 用lnmp一键安装包搭建nginx+mysql+php生产环境实战
- Nginx集群之SSL证书的WebApi身份验证
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- 【ssm个人博客项目实战02】easy UI搭建后台管理界面
- Vsftp搭建(一)与PAM验证 SSL加密 登陆
- 项目实战02:LVS 实现负载均衡
- 网页实现身份验证功能nginx
- 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)
- 商城项目实战31:solar服务器搭建、搜索功能实现
- nginx+apache实现网站的ssl加密(https)
- 20130116-使用Grails Shiro Plugin实现身份验证02
- 用SHA1或MD5 算法加密数据(示例:对用户身份验证的简单实现)