签名CA证书

环境:server1:172.25.1.1    重置虚拟机       挂载yum源

[root@server1 ~]# yum install mod_ssl -y                 //下载ssl模块

[root@server1 ~]# yum install crypto-utils -y             //安装加密软件

[root@server1 ~]# genkey www.westos.com           //对www.westos.com加密

https://mp.csdn.net/

这个过程一般比较慢,可以另外打开一个终端,并不断按键或者拖动鼠标

//填写证书内容

//点击Next进行下一步,会出现下面的内容

其中,

output will be written to /etc/pki/tls/certs/www.westos.com.crt           //证书

output key written to /etc/pki/tls/private/www.westos.com.key          //密钥

[root@server1 ~]# vim /etc/httpd/conf.d/ssl.conf                   //修改文件中的证书及密钥

SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt

SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

[root@server1 ~]# systemctl restart httpd

此时进行网页浏览:

1、当密钥生成错误时,进入目录/etc/pki/tls/serts删除证书,进入目录cd /etc/pki/tls/private/删除密钥

2、若重新生成密钥后还是不能下载证书则进行Edit–>Advanced–>View并删除本机证书后即可下载。

网页重写

[root@server1 ~]# mkdir /var/www/virtual/westos.com/login -p
[root@server1 ~]# vim /var/www/virtual/westos.com/login/index.html


[root@server1 ~]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# ls
autoindex.conf  README  ssl.conf  userdir.conf  welcome.conf
[root@server1 conf.d]# vim login.conf

<VirtualHost *:443>        
    ServerName login.westos.com            
    DocumentRoot "/var/www/virtual/westos.com/login/"            //默认发布目录,即网页文件存放位置

CustomLog "logs/login.log" combined                     //日志
    SSLEngine on             //开启加密

SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt                    //加密公钥
    SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key          //加密私钥
</VirtualHost>
<Directory "/var/www/virtual/westos.com/login/">
    Require all granted
</Directory>
<VirtualHost *:80>
    ServerName login.westos.com
    RewriteEngine on
    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</VirtualHost>

由于用户输网址时不会刻意添加加密访问字符‘https://’, 所以我们可以用代码强制将用户输入站点自动跳转到‘https://

    RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

[root@server1 conf.d]# systemctl restart httpd

网页进行访问:

即使访问时没有添加https://但回车时还时会自动添加上

Apache支持PHP语言(已经支持了html)

[root@server1 conf]# pwd
/etc/httpd/conf

[root@server1 conf]# vim httpd.conf

[root@server1 conf]# vim /etc/httpd/conf/httpd.conf                 //配置文件中添加默认发布目录index.php

[root@server1 conf]# yum install php -y             //安装php

[root@server1 conf]# cd /var/www/html/
[root@server1 html]# mkdir cgi                 
[root@server1 html]# cd cgi/
[root@server1 cgi]# vim index.cgi                //写脚本

[root@server1 cgi]# chmod +x index.cgi             //给脚本加可执行权限
[root@server1 cgi]# ./index.cgi               //执行脚本
Content-type: text/html

Sun Mar 10 03:48:04 EDT 2019
[root@server1 cgi]# cd -
/var/www/html
[root@server1 html]# cd /etc/httpd/conf.d/
[root@server1 conf.d]# ls
autoindex.conf  php.conf  ssl.conf      welcome.conf
login.conf      README    userdir.conf
[root@server1 conf.d]# vim default.conf                         
[root@server1 conf.d]# vim /etc/httpd/conf/httpd.conf
[root@server1 conf.d]# systemctl restart httpd

此时在网页进行访问:

论坛的搭建

[root@server1 ~]# systemctl start httpd

[root@server1 ~]# yum install -y mariadb

[root@server1 ~]# yum install mariadb-server

[root@server1 ~]# systemctl start mariadb

下载论坛的安装包至/var/www/html

[root@server1 westos]# cd /var/www/html/
[root@server1 html]# ls
cgi  Discuz_X3.2_SC_UTF8.zip  index.html  index.php
[root@server1 html]# unzip Discuz_X3.2_SC_UTF8.zip
-bash: unzip: command not found
[root@server1 html]# yum intall -y unzip

[root@server1 html]# unzip Discuz_X3.2_SC_UTF8.zip

[root@server1 html]# ls

[root@server1 html]# chmod 777 /var/www/html/upload/ -R            //添加权限
[root@server1 html]# yum install -y php-mysql               //安装php-mysl

[root@server1 html]# systemctl restart httpd

在浏览器中输入http://172.25.1.1/upload/install/

点击index.php

[root@server1 html]# mysql_secure_installation

[root@server1 html]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y                            //设置root密码,这里我设置的是redhat
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

//后面都输入y

返回浏览器:

注意:填写表格时:数据库服务器为localhost 数据库名为root  数据库用户名为root  数据库密码为redhat  管理员密码为admin其他部分不变

此时点击admin.php

提交:

论坛搭建完成

正向代理及反向代理  

正向代理:

也就是在浏览器的网络连接属性框中,填写上一个代理服务器的ip和端口,即可通过代理服务器中转,去浏览网页。有时候网站对单个 IP 某些操作进行了次数限制。它是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

反向代理(Reverse Proxy):

是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。常用做网站服务器配置,可以提供从防火墙外部代理服务器到防火墙内部安全内容服务器的加密连接,隐藏后端真实服务器,更加安全。如 负载均衡 ,CDN 缓存都是反向代理。

http与https的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密,实现http的安全数据传输。可以说https就是http的升级版

HTTPS和HTTP的区别主要为以下四点:

一、https协议需要到ca申请证书,一般免费证书很少,需要交费。

二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

apache与nginx的区别

nginx

  1. epoll 异步非阻塞
  2. nginx在开启时,会生成一个master进程,然后,master进程会fork多个worker子进程,最后每个用户的请求由worker的子线程处理。
  3. 可以配置nginx的upstream实现nginx的反向代理;nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器。
  4. 支持7层负载均衡,可做为负载均衡器。
  5. 静态文件、反向代理、前端缓存等处理方便;nginx 处理静态文件好,静态处理性能比 apache 高3倍以上
  6. 支持高并发连接,每秒最多的并发连接请求理论可以达到 50000 个
  7. nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂 ,重启的时候发现配置出错了,会很崩溃
  8. 用线程处理用户请求,而线程是共享内存的,只需要开启少量进程,多个线程就可以共享进程的内存,占用内存小,轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源;
  9. 一个进程死掉时,会影响到多个用户的使用,稳定性差
  10. 即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
  11. 社区活跃,各种高性能模块出品迅速

apache

  1. apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
  2. 组件比nginx多
  3. 一个连接对应一个进程
  4. 当用户请求过多时,开启的进程较多,占用内存大,每秒最多的并发连接请求最多不超过 3000 个
  5. 一个进程死掉时,不会影响其他的用户;apache 超稳定
  6. apache 发展到现在,模块超多,基本想到的都可以找到
  7. apache 更为成熟,少 bug ,nginx 的 bug 相对较多
  8. apache 在处理动态请求有优势,nginx 在这方面是鸡肋,一般动态请求要 apache 去做,nginx 适合静态和反向。
  9. apache 仍然是目前的主流,拥有丰富的特性,成熟的技术和开发社区

总结:

核心区别在于nginx是异步的,多连接可对应一个进程,而apache是一个连接对应一个进程,同步多进程。

Apache服务器部署(2)相关推荐

  1. Apache服务器部署(1)

    apache(web服务器)简介: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速. ...

  2. Unity WebGL发布及Ubuntu Apache服务器部署

    Unity WebGL发布及Ubuntu Apache服务器部署 Unity 中WebGL的设置 Ubuntu Apache web服务器搭建 网页修改 附一:Ubuntu 文件操作常用命令 附二:A ...

  3. Apache服务器部署ASP.NET网站

    资源罗列: apache如何支持asp.net 用 Apache 发布 ASP.NET 网站

  4. 云服务器(uCloud)部署java web项目(二) 安装,配置apache服务器

    自己组建了一个网站,想要发布到互联网上.然后我就找到了这个链接 https://www.codecasts.com/series/deploy-a-website-from-scratch(是一个从零 ...

  5. 服务器部署ssl证书,Apache服务器SSL证书部署

    Apache服务器SSL证书部署 发布时间:2018-01-11 18:03:54 摘要 Apache为一款非常常见的web服务器,此文针对在apache上部署和使用SSL证书进行了详细描述. 关键词 ...

  6. apache服务器wind 下载,安装及部署

    一.下载 1.1 .进入apache服务器官网http://httpd.apache.org/ 点击 "download" 点击 "a number of third p ...

  7. CentOS7部署Apache服务器

    这篇文章讲解如何在CentOS7上部署自己的Apache服务器. 文章目录 一.Apache服务器简述 二.部署Apache服务器 1.安装Apache 三.修改Apache默认配置(可选) 1.查看 ...

  8. vue项目打包部署到服务器,Vue项目打包部署到apache服务器的方法步骤

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...

  9. Vue项目打包部署到apache服务器

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进 ...

最新文章

  1. 网站SEO优化如何才能避免被搜索引擎惩罚?
  2. BZOJ4893: 项链分赃 BZOJ4895: 项链分赃(增强版)
  3. [改善Java代码]养成良好习惯,显式声明UID
  4. 如何提高android串口kernel log等级
  5. c3p0 参数 模糊查询_mybatis之动态sql,模糊查询,结果集处理,mybatis分页及特殊字符处理...
  6. qt char*转int_Qt在Linux下绘制文字原理-使用FreeType来绘制字形
  7. SQL SERVER 子查询的用法
  8. (最优解法)46行代码AC_HDU1242 Rescue(DFS解法+BFS解法)
  9. BeanUtils工具的使用(转载)
  10. AJAX,JSON与MVC
  11. 工具类 --UUIDUtil ---32位UUID生成器
  12. 使用jclasslib修改字节码/源码
  13. 十大机器学习算法(一)
  14. 微信服务器IP地址清单
  15. Linux 开始IntelCPU节能模式
  16. 【Linux】区分Ubuntu桌面版本和服务器版本
  17. 七月与安生观后感—告别我的27岁
  18. JWT、JWE、JWS 、JWK 到底是什么?该用 JWT 还是 JWS?
  19. vscode必备常用插件
  20. 云从科技上市后首份财报:半年营收3.9亿 同比降14% 净亏3.25亿

热门文章

  1. 取消对 null 指针“l”的引用。_C++中的引用
  2. HDFS的shell和API操作
  3. 紫书 习题 10-17 UVa 11105 (筛法)
  4. MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
  5. CentOS6.8 编译安装LNMP
  6. MongoDB 搭建副本集
  7. 4月第4周全球域名商TOP15:万网第四 增势减弱
  8. 转: 如何实现jQuery的Ajax文件上传
  9. 基于Sql Server 2008的分布式数据库的实践(一)
  10. 设计模式:状态模式(State Pattern)