网络服务
守护进程
服务程序一般都是以守护进程默默的在后台执行,所以一般都是以d结尾的,在Linux中所有的进程都是由初始化进程来创建的,该初始化进程的进程号是1,在之前的版本中初始化进程是system V,新版的初始化进程是systemd
| systemd | systemV | 描述 |
|---|---|---|
systemctl start 服务 |
service 服务 start |
启动服务 |
systemctl stop 服务 |
service 服务 stop |
停止服务 |
systemctl restart 服务 |
service 服务 restart |
重启服务 |
systemctl status 服务 |
service 服务 status |
查看服务状态 |
systemctl reload 服务 |
service 服务 reload |
重服务载配置文件 |
systemctl enable 服务 |
chkconfig 服务 on |
将该服务添加到开机自启动 |
systemctl disable 服务 |
chkconfig 服务 off |
将该服务移除开机自启动 |
systemctl is-enable 服务 |
chkconfig 服务 |
查看该服务是否开机自启动 |
systemctl list-unit-files --type=service |
chkconfig --list |
查看各个级别下服务的启动和禁用状态 |
防火墙
根据一组网络流量访问的规则进行匹配策略,来判断是否能通行,规则由上到下匹配,所以通常默认策略是全部拒绝,而不是全部接受,这样更加安全
每个方向的流量都有自己的策略链,以下链在filter表中,该表也是默认表:
| 英文名 | 方向 |
|---|---|
| INPUT | 流入流量(一般对此策略链进行配置) |
| OUTPUT | 流出流量 |
| FORWARD | 转发流量 |
以下链在nat表中:
| 英文名 | 描述 |
|---|---|
| PREROUTING | 在进行路由选择前处理数据包 |
| POSTROUTING | 在进行路由选择后处理数据包 |
| OUTPUT | 流出流量 |
iptables
此工具在之前版本中使用的,之后版本不再有了,此工具不是一个服务
查看
t:指定查看的是那个表,默认是filter表L:查看所有策略表的策略n:显示端口号而不是协议名v:显示更加详细
增加
P:设置默认策略,后跟策略表名和策略,比如iptables -P INPUT DROP将流入流量设置默认策略为全拒绝I:在某策略链头部添加策略A:在某策略链尾添加策略p:匹配协议,如TCP、UDP、ICMP--dport:目标端口号(服务端端口号),一段端口号使用的是:分隔而不是-s:来源地址(客户端地址),可以加!号表示除此之外--sport:来源端口号(客户端端口号)j:匹配后的动作ACCEPT:接受DROP:丢弃REJECT:拒绝LOG:保存到日志文件
删除
F:清空所有规则D:删除某表的某一条一条规则,从1开始
firewall
此工具在新版本中使用,之前的版本是没有的,此工具是一个服务对应的服务名称就是firewalld,而且此工具的命令行版本叫firewall-cmd,图形化版本叫firewall-config
该工具中引入区域的概念,说的是当前服务器所处环境(区域),而采用的防火墙默认策略,其实就是一种防火墙模板
| 区域 | 描述 |
|---|---|
| trusted | 全部接受 |
| drop | 全部拒绝 |
| public | 默认区域,除拉ssh、dhcpv6-client协议外,全部拒绝,可以配置接受规则条目 |
get-default-zone:获取默认区域set-default-zone:设置默认区域get-services:显示可设置的服务名add-service:添加放行服务流量remove-service:删除设置的放行服务流量query-service:查看是否放行该服务list-services:查看以设置的服务列表add-port:添加放行端口流量,需要同时指定协议名,以/分隔,若同时指定多个端口是以-分隔remove-port:删除设置的放行端口流量,需要同时指定协议名,以/分隔query-port:查看该端口是否放行,需要同时指定协议名,以/分隔list-port:查看以设置的放行端口和协议permanent:永久生效,默认情况下在重启后设置的策略会失效,加上此参数虽然可以永久生效,但是在为重启时会是未生效状态,在重启后才会生效reload:此参数正是为了解决permanent参数重启后生效的,此参数会使永久生效的在本次立即生效query-masquerade:检查是否允许伪装IPadd-masquerade:允许防火墙伪装IPremove-masquerade:禁止防火墙伪装IPadd-forward-port:设置端口转发,值需要以port=源端口号:proto=协议:toport=转发端口号:toaddr=转发IP形式,转发IP的前提是允许防火墙伪装IPadd-rich-rule:设置富规则,值需要以规则字符串命令来指定,如rule family="ipv4" source address="192.168.1.100" service name="mysql" reject,由于有空格需要用双引号引起来rule family:指定IP协议,ipv4或ipv6source address:指定IP,一段IP就使用子网掩码即可service name:指定服务- 执行的动作:
reject:拒绝drop:丢包accept:接受log:保存到日志
port port:端口,多个端口使用-分隔protocol:协议
list-rich-rules:查看设置的富规则remove-rich-rule:删除富规则,不是根据编号删除的,而是怎么设置的就是怎么删除的,所以值也是规则字符串命令,通常使用list-rich-rules查询出的规则复制粘贴删除
TCP Wrappers
该工具使用到两个配置文件/etc/hosts.allow(允许)和/etc/hosts.deny(拒绝),顺序是先匹配允许文件,后匹配拒绝文件,一旦匹配成功就不会再向后匹配
配置形式是服务名:IP的形式,若指定多个服务需要使用逗号分隔,若指定一个网段需要使用子网掩码,要注意这里是服务名,而不是协议名,比如ssh,ftp:192.168.1.100
SELinux
是集成在内核2.6版本之后的上安全子系统,使用uname -r或uname -a可以查看内核版本
永久生效的SELinux配置文件位置/etc/selinux/config,需要重启电脑后生效,一般只设置SELINUX参数的启动状态,而对于SELINUXTYPE参数保持默认的targeted即可,意思是对于大部分著名的软件默认的设置是起到保护(限制)作用的
getenforce:查看设置的SELinux级别setenforce:设置临时的SElinux级别,0是permissive警告模式,1是enforcing强制模式,如果原本是disabled状态将无法使用该命令开启sestatus:查看SELinux详细信息v:更详细
SELinux运行原理
为每个文件(安全上下文)和进程(域限制)都添加一个标签,系统中运行的程序有访问文件或进程的操作时会经过SELinux,若SELinux中有设置访问该标签的策略就允许访问,否则不允许
文件的标签可以使用ls -Z查看,进程的标签可以使用ps -auxZ查看,系统默认会为每个文件都添加默认的标签,使用semanage fcontext -l可以查看默认的标签
标签的的格式是system_u:system_r:kernel_t:s0以分号分隔的4段内容,分别表示:
用户(以_u结尾) |
角色(以_r结尾) |
类型(以_t结尾) |
级别 |
|---|---|---|---|
创建者类型,如system_u=系统创建的、unconfined_u=用户自己创建的 |
该对象的用途,比如system_r=系统进程、unconfined_r=用户进程、object_r=文件 |
就是什么进程能访问什么类型文件中的类型,主要修改的字段,若设置为public_content_t=任意进程都可以读、public_content_rw_t=任何进程都可以读写 |
在targeted模式下都是s0 |
对于复制的文件会重新根据当前目录定义标签,对于移动的文件会保留原来的标签
修改SELinux标签类型
chcon:修改安全上下文t:修改类型字段R:递归修改reference:根据文件或目录更改安全上下文
restorecon:恢复到系统默认的标签R:递归恢复v:显示过程
semanage:SELinux管理器fcontext:文件安全上下文l:列出所有文件的默认标签a:向策略数据库中添加默认的SELinux策略d:从策略数据库中删除默认的SELinux策略t:指定标签的类型字段,后跟标签和目录,空格隔开,若想递归设置则需要为目录增加(/.*)?正则后缀表示目录和目录内的文件
port:端口安全上下文l:列出所有端口的默认标签a:向策略数据库中添加默认的SELinux策略d:从策略数据库中删除默认的SELinux策略m:从策略数据库中修改默认的SELinux策略,前提是有才能修改t:指定标签的类型字段p:指定端口号和协议,空格隔开
boolean:服务行为开关布尔值l:查看服务行为开关布尔值C:查看修改过的布尔值,配合l
getsebool:查看临时的服务行为开关布尔值setsebool:临时修改服务行为开关布尔值,后跟服务行为off是开,on是关P:永久修改服务行为开关布尔值
SELinux日志
yum install setroubleshoot,安装sealert命令grep 关键字 /var/log/messages,系统日志中搜索sealert -l UUID根据日志的提示运行相应的UUID即可查看sealert -a /var/log/audit/audit.log可查看所有有关SELinux的错误日志信息
LAMP和LNMP
Apache
- 使用
yum install httpd安装Apache服务 - 使用
systemctl start httpd启动Apache服务 - 配置IP地址和防火墙放行80和443端口,可以使用
iptable或firewall-cmd工具
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=443/tcp
- 配置Apache服务
| 文件位置 | 描述 |
|---|---|
/etc/httpd/conf/httpd.conf |
主配置文件 |
/var/www/html |
网站数据目录,若有SELinux捣乱则修改SELinux标签修改为httpd_sys_content_t |
/var/log/httpd/access_log |
访问日志文件 |
/var/log/httpd/error_log |
访问错误日志文件 |
- 主要参数列表:
| 参数名 | 描述 |
|---|---|
ServerRoot |
服务本身的目录 |
Listen |
监听端口号 |
User |
运行服务的用户 |
Group |
运行服务的组 |
ServerAdmin |
管理员邮箱 |
DocumentRoot |
网站数据目录,修改数据目录时也要同时修改网站数据目录权限 |
ErrorLog |
错误日志 |
CustomLog |
访问日志 |
- 虚拟主机:编写主配置文件
/etc/httpd/conf/httpd.conf,添加以下内容,这类似于XML格式
<VirtualHost 192.168.1.10> #要指定IP地址和端口,是内网地址
DocumentRoot /var/www/html/v1 #虚拟主机的数据目录
ServerName www.linux.com #虚拟主机域名
<Directory /var/www/html/v1> #网站数据目录权限,这里的目录要与数据目录一致
AllowOverride None #不允许被覆盖
Require all granted #全部都允许访问
DirectoryIndex index.html #默认首页
</Directory>
</VirtualHost>
- 配置HTTPS
- 需要使用
yum install mod_ssl安装Apache支持SSL的模块 - 然后使用
systemctl restart httpd重启httpd服务,此时使用的系统默认的证书和私钥 - 而且公网中没有注册证书的情况下是无法访问的,在虚拟机中(局域网中)是可以的
- 需要使用
| 文件位置 | 描述 |
|---|---|
/etc/httpd/conf.d/ssl.conf |
Apache的SSL证书配置文件 |
/etc/pki/tls/private/ |
系统私钥目录 |
/etc/pki/tls/certs/ |
系统证书目录 |
- 自制证书
openssl genrsa -out server.key 2048 #使用RSA加密算法 生成私钥文件 名为server.key 位数是2048
openssl req -new -key server.key -out server.csr #根据私钥生成证书签名请求,会让你填写一些签名信息
openssl x509 -req -days 1 -in server.csr -signkey server.key -out server.crt #根据私钥和签名生成有效期是1天的证书
cp server.key /etc/pki/tls/private/ #将私钥拷贝到系统私钥目录中
cp server.crt /etc/pki/tls/certs/ #将证书拷贝到系统证书目录中
vim /etc/httpd/conf.d/ssl.conf #修改Apache的SSL配置文件,将SSLCertificateFile证书字段和SSLCertificateKeyFile私钥字段修改为自己的生成文件
systemctl restart httpd #重启Apache
Tomcat
- 使用
yum install tomcat安装Tomcat服务,默认是tomcat7,带的Java运行环境是1.7.0版本yum install tomcat-webapps tomcat-admin-webapps安装容器管理软件yum install tomcat-docs-webapp tomcat-javadoc安装参考文档- 可以使用
yum install java-1.8.0-openjdk.x86_64升级之1.8.0,也可以升级到1.11.0版本(tomcat version可查看版本信息) - 可以通过pkgs.org网站找到相关更新的rpm包进行安装更新的tomcat
- 可以使用
yum install java-1.8.0-openjdk-devel.x86_64安装开发环境
- 使用
systemctl start tomcat启动Tomcat服务 - 配置IP地址和防火墙放行8080端口,可以使用
iptable或firewall-cmd工具
firewall-cmd --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-port=8443/tcp
- 配置Tomcat服务
| 文件位置 | 描述 |
|---|---|
/etc/tomcat/tomcat.conf |
主配置文件 |
/etc/tomcat/server.xml |
服务器配置文件 |
/etc/tomcat/tomcat-users.xml |
tomcat用户配置文件 |
/usr/share/tomcat/webapps |
web容器配置文件 |
/var/lib/tomcat/webapps/ |
web容器目录 |
/usr/share/tomcat/logs/ |
日志文件目录 |
- 添加用户:编写用户配置文件
/etc/tomcat/tomcat-users.xml,将最后的举例的注释打开,填写自己的用户名和密码
user name="admin" password="admin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
- 使用java的keytool工具自制证书(jdk自带的工具)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore server.keystore -validity 365 -sigalg SHA256withRSA
#证书的别名是tomcat,加密方式使用RSA,生成证书名为server.keystore,证书有效期为365天,签名算法使用SHA256withRSA
#接下来会让你填写信息并且确认,要注意的是密码必须是6位数,确认完毕后设置要在输入一次密码要与刚开始设置的密码一致
keytool -keystore server.keystore -export -alias tomcat -file client.cer
#使用服务端证书生成客户端证书,指定证书别名要一致,生成的证书名为client.cer
#接下来会让你输入密码
-
使用
vim /etc/tomcat/server.xml命令来修改配置文件开启HTTPS功能,但是要注意只能使用脚本启动方式启动HTTPS才能有效果,否则只有HTTP有效果,由于yum安装的tomcat7中的bin目录中没有启动脚本(脚本启动后那么像systemctl和tomcat start|stop命令就会失效,只能使用脚本的shutdown.sh来关闭),则需要手动的从官网中下载tomcat7将bin目录替换即可,记着加执行权限-
tomcat7
- 将配置8080端口的HTTP注释掉
- 将配置8443HTTPS的注释解开,并且添加
keystoreFile字段来指定证书,keystorePass字段来指定密码
<!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> 修改为如下内容: --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="password"/> <!--添加自己的证书和证书密码 --> -
tomcat8.5/9
- 将配置8080端口的HTTP注释掉
- 将配置8443HTTPS的注释解开,将Certificate标签中的
certificateKeystoreFile的证书换成自己生成的服务端证书,并增加certificateKeystorePassword字段,字段值为刚才为证书设置的密码
<!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" type="RSA" /> </SSLHostConfig> </Connector> 修改为如下内容: --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="server.keystore" type="RSA" certificateKeystorePassword="123456" /> </SSLHostConfig> </Connector> <!--添加自己的证书和证书密码 -->
-
-
使用
vim /etc/tomcat/web.xml修改强制HTTP跳转到HTTPS,找到welcome-file-list标签,在标签下插入以下内容,注意是下面,而不是标签内
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- 再将网站项目配置HTTPS,修改项目中的WEB-INF/web.xml文件,添加以下字段,在将项目的war包放入tomcat容器中,之后使用
systemctl restart tomcat重启tomcat
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern> <!-- 表示所有路径下的文件都采用SSL协议-->
</web-resource-collection>
<user-data-collection>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-collection>
</security-constraint>
- 公网中没有注册证书的情况下是无法访问的,在虚拟机中(局域网中)是可以的,若想在公网中访问,就需要将刚才生成的客户端证书下载到本地,拖入浏览器中进行安装证书即可访问
Nginx
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm也可以使用yum install epel-release安装epel源,若报错则打开vim /etc/yum.repos.d/epel.repo就将第二行的注释解开,将第三行注释掉,否则忽略- 使用
yum install nginx安装nginx,使用systemctl start nginx启动服务 - 配置IP地址和防火墙放行80和443端口,可以使用
iptable或firewall-cmd工具
firewall-cmd --zone=public --add-port=80/tcp
firewall-cmd --zone=public --add-port=443/tcp
- 配置Nginx服务
| 文件位置 | 描述 |
|---|---|
/etc/nginx/nginx.conf |
主配置文件 |
/usr/share/nginx/html |
网站数据目录,若有SELinux捣乱则修改SELinux标签修改为httpd_sys_content_t |
/var/log/nginx/access.log |
访问日志文件 |
/var/log/nginx/error.log |
访问错误日志文件 |
- 主要参数列表:
| 参数名 | 描述 |
|---|---|
user |
运行服务的用户 |
worker_processes |
工作进程数,应该对应CPU核心数,设置为auto即可 |
worker_connections |
一个工作进程对应的连接数 |
error_log |
错误日志 |
access_log |
访问日志 |
- 虚拟主机:编写主配置文件
/etc/nginx/nginx.conf,添加以下内容,类似于JS中对象形式,但是每行后需要加分号,使用nginx -t可检测配置文件语法是否出错
server { #虚拟机模块
listen 80 default_server; #监听的内网IP和端口,可以只指定端口
listen [::]:80 default_server; #IPv6的设置
server_name www.linux.com; #虚拟主机域名
root /usr/share/nginx/html/v1; #虚拟主机的数据目录
index index.html; #默认首页
}
- 反向代理:编写主配置文件
/etc/nginx/nginx.conf,虚拟主机模块中添加以下内容
location /tomcat { #代理的目录,即访问nginx下的tomcat目录时 例如http://192.168.1.10/tomcat
proxy_pass http://127.0.0.1:8080; #会被代理到这个IP的这个端口上,即http://127.0.0.1:8080/tomcat
}
- 配置HTTPS
- 在所有监听的是http的虚拟主机模块下添加
return 301 https://$host$request_uri;可以将所有请求转化为HTTPS,此语句中的以$开头的是nginx的变量,分别代表请求主机和请求资源资源路径 - 打开注释调度配置HTTPS虚拟主机模块,将
ssl_certificate证书字段和ssl_certificate_key私钥字段修改为自己的生成文件,私钥和证书生成方式可以参考Apache中的配置HTTPS
- 在所有监听的是http的虚拟主机模块下添加
MariaDB
- 使用
yum install mariadb mariadb-server安装MariaDB客户端和服务器端 - 使用
systemctl start mariadb启动MariaDB - 使用
mysql_secure_installation命令初始化MariaDB,会让你填写以下信息
Enter current password for root (enter for none): #填写数据库的root密码,第一次默认是空密码直接回车即可,若不是第一次则需要输入密码
Set root password? [Y/n] y #是否设置root的密码
New password: #新密码
Re-enter new password: #确认新密码
Remove anonymous users? [Y/n] y #是否删除匿名用户
Disallow root login remotely? [Y/n] n #是否禁用root用户的远程登陆,同时还要防火墙放行3306端口
Remove test database and access to it? [Y/n] y #是否删除测试数据库
Reload privilege tables now? [Y/n] y #是否重载当前配置
- 修改MariaDB的字符编码为UTF8,使用
vim /etc/my.cnf将配置文件中的增加以下两句配置信息:
character_set_server=utf8
init_connect='SET NAMES utf8'
- 使用
systemctl restart mariadb重启数据库,在数据库中使用show variables like '%character_set%';可查看数据库的字符集 - 配置IP地址和防火墙放行3306端口,可以使用
iptable或firewall-cmd工具
firewall-cmd --zone=public --add-port=3306/tcp
PHP
- 下载安装php,默认使用yum安装的php版本是5.1版本的,由于下面部署的wordpress系统要求php版本是5.6以上的所以需要更新一下yum源后才能进行安装
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm #也可以使用 yum install epel-release 安装epel源
vim /etc/yum.repos.d/epel.repo #若报错,就将第二行的注释解开,将第三行注释掉,否则忽略此行
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #更新webtatic-release源
yum install php56w php56w-mysql #安装php主程序和连接MariaDB的模块程序
- 如果是Apache到此即可结束了;若是nginx,由于nginx不能直接与php进行通讯,需要借助FastCGI协议进行通讯,所以需要执行以下步骤
setenforce 0 #安装前最好将SELinux临时关闭
yum install php56w-fpm #所以需要安装此软件,若报错执行 rpm -e redhat-release-server-7.0-1.el7.x86_64 --nodeps
grep systemd-logind /var/log/audit/audit.log | audit2allow -M mypol #selinx日志提示命令,防止后续出错
semodule -i mypol.pp #selinx日志提示命令,防止后续出错
setenforce 1 #完成后将SELinux开启
systemctl start php-fpm #启动FastCGI协议服务
- 修改nginx配置文件:
vim /etc/nginx/nginx.conf,在虚拟主机模块(要注意http跳转https时有要将此配置填写到https的虚拟主机中)中添加以下内容后重启nginx服务
location ~ \.php$ { # ~号代表开启正则,\.php$代表只要是以 点php 结尾的
fastcgi_pass 127.0.0.1:9000; #指定提供FastCGI协议的IP和端口
fastcgi_index index.php; #默认首页
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #默认脚本文件名是nginx默认网站数据目录和fastcgi脚本名
include fastcgi_params; #导入fastcgi_params文件
}
wordpress(LAMP)
wget https://cn.wordpress.org/latest-zh_CN.tar.gz -O /var/www/html/latest-zh_CN.tar.gz #下载到Apache资源目录,防止SELinux捣乱,此下载连接来自https://wordpress.org官网
tar -xvzf latest-zh_CN.tar.gz #解压到当前目录
#进入数据库建库,和用户
create database blog;
grant all on blog.* to 'blog' identified by 'blog';
cp wp-config-sample.php wp-config.php #创建wordpress的数据库配置文件
vim wp-config.php #添加表数据库的用户、密码、IP
getsebool -a | grep httpd_can #查看有关httpd服务的布尔值,根据查看的值打开网络连接权限
setsebool httpd_can_network_connect=on #开启网络连接的权限
#localhost/wordpress/wp-admin/setup-config.php 浏览器中打开这个地址进行安装,localhost可替换具体ip
Discuz(LNMP)
- Discuz完整安装程序由此处 Discuz官方网站获取,将程序中的upload目录上传服务器,放入nginx的网站数据目录
- 由于安装首页是
index.php,所以需要在nginx配置文件中多指定一个默认首页,重启nginx - 浏览器打开
http://localhost/install地址进行安装,localhost可替换具体ip - 先使用
chmod 777 -R /usr/share/nginx/html让该目录所有文件有可写权限,此时SELinux捣乱,将全部设置为public_content_rw_t是无用的- 再使用
semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/nginx/html(/.*)?"更改为可写的上下文,再使用restorecon -R /usr/share/nginx/html修改上下文 - 或
chcon -Rt httpd_sys_rw_content_t /usr/share/nginx/html修改上下文
- 再使用
Jenkins(tomcat)
- Jenkins完整安装程序由此处Jenkins官网获取war包,使用
wget http://mirrors.jenkins.io/war-stable/2.235.5/jenkins.war下载 - 将下载的war包放到
/var/lib/tomcat/webapps/目录下,将自动部署 - 浏览器进入项目
localhost:8080/jenkins根据提示安装即可
Squid
- 使用
yum install squid安装Squid - 使用
systemctl start squid启动Squid - 配置IP地址和防火墙放行3128端口,可以使用
iptable或firewall-cmd工具
firewall-cmd --zone=public --add-port=3128/tcp
- 配置Squid服务
| 文件位置 | 描述 |
|---|---|
/etc/squid/squid.conf |
主配置文件 |
- 主要参数列表
| 指令 | 参数格式 | 描述 | |
|---|---|---|---|
http_port |
IP:Port [transparent] |
Squid监听的端口,若IP是网关地址并且添加后面transparent字段,则会成为透明代理 | |
acl |
aclName aclType aclValue |
aclName是自己起的在http_access中使用,aclType与aclValue应该对应;src=来源IP/掩码、dst=目的IP/掩码、url_regex -i=URL地址正则匹配、urlpath_regex -i=省去协议和主机名的URL地址匹配,-i是忽略大小写 |
|
http_access |
`allow | deny aclName` | 根据acl规则决定拒绝访问还是允许访问,aclName前可以添加!表示取反,此指令和防火墙一样都是按照从上到下匹配的,一旦匹配就执行相应的动作,所以最后一行一般都是http_access deny all结尾,代表拒绝所有 |

Comments NOTHING