Linux命令基本操作-Nginx安装详解
1.安装Linxu 前提条件
1.yum install gcc-c++ 原因:nginx的编译需要gcc环境
2.yum install -y pcre pcre-devel 原因:PCRE是Perl库是一个类库 ,他需要里面的正则表达式
3.yum install -y zlib zlib-devel 原因zlib 库中提供了很多种压缩和解压缩的方式
4.yum install -y openssl openssl-devel 原因Openssl 是一个强大的安全套接字层密码库,囊括了主要的密码算法,密钥和证书,封装管理ssl协议
2.nginx的安装
1. 进入源码包 cd nginx-1.8.0
2. ./configure //配置makefiel
3. mkdir /var/temp/nginx -p //创建临时的文件夹
3. make //编译安装
4. make install
5. 启动nginx
a.进入nginx安装目录,默认是 cd /usr/local/nginx/sbin
b.启动nginx ./nginx
6. 安装成功校验,默认的情况下nginx 是80端口
7. ./nginx -s stop
8. 重新加载配置文件 ./nginx -s reload
9. 关闭防火墙 service iptables stop
3.安装vsftpd(vary sercurity FTP daemon非常安全的ftp进程)
FTP(File transform Protocel文件传输协议)
1.安装vsftpd 组件
yum install -y vsftpd //安装完成之后有 /etc/vsftpd/vsftpd.conf 文件,他是vsftpd的配置文件
2.添加一个ftp用户
useradd ftpuser
passwd ftpuser 密码是ftpuser
3.ftp默认的端口号是21
4.解决Nginx服务器中403 forbidden的错误
1.权限配置不正确,
为了保证文件能正确的执行,nginx既需要文件的读权限,又需要文件所有目录的可执行权限
chmod a+x filename //一般情况下新建立的文件夹没有执行的权限
2.目录索引错误(index指令配置)
网站的根目录包涵index指令配置
例如
index index.html,index.htm
当访问该网站的时候,nginx会按照index.html,index.htm去查找,如果没有定义的话,就会出现 403 forbidden
5.Nginx的nginx.conf部分解析
{
server{1个server就是一个虚拟主机
location / {
root html; 表示文件的根目录在哪
index index.html index.htm; 索引
}
}
upstream{
} //主要是做反向代理使用
}
6.Nginx 的作用
1. http 服务 例如图片服务器
2. 实现虚拟机
a.基于ip的虚拟机
b.基于端口的虚拟机
c.基于域名的虚拟机
3. 做反向代理,以及负载均衡
7.Nginx 杂碎知识点
1.Nginx名词解释 热部署==平滑升级=重新加载的时候以及在线升级的时候,不需要中断处理。
2.所谓的模块化值得就是那几个大括号
3.Nginx可以使用Http_Refer支持图片的反盗链,意思是本站点上的图片,只能在某些特定的网站上才可以打开,不支持其他没有授权的网站进行点击链接
4.Nginx的容错技术需要第三方的组件 其中淘宝的Tengine 就是比较好的
5.Nginx他是俄罗斯人做的 作为web服务器,相比较Apache,Nginx使用更少的资源,支持更多的并发链接,体现更高的效率,他可以同时支持5万的并发链接数的响应,
6.with--http_ 表示默认未启用该模块
without --http 表示已经默认已经启用该模块
7.http 的server模块可以在一个文件夹中去建立, 然后包含进去就可以了
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main; zuodengchao拢卢zhangsna
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
include /usr/local/nginx/conf/conf.d/*.conf; **//这里就是Server 的配置文件,可以去包含多个,这就是模块化的好处**
8.Nginx 一般去设置和tomcat 在同一台主机上,Nginx主要是在建立会话上比较高效 ,然后再Nginx 前面重新添加Nginx
}
8.Nginx反向代理
upstream tomcat { 通过upstream 进行设置集群
server 192.168.9.136:8080;
server 192.168.9.141:8080;
}
server {
listen 80;
server_name localhost;
location / {
root /web/htdocs;
index index.jsp index.html index.htm; //这一这里面的索引开始的文件
}
location ~* \.(jsp|do)$ { //这里表示请求的.jsp页面或者是 以.do 结尾的请求 都要代理之后面的tomcat中去
proxy_pass http://tomcat;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
9.Nginx 目录中的文件以列表的形式展现出来
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#下面的三行才是 目录中的文件以列表的形式展现出来 --start
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
#end
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /ehome/released/ {
alias /opt/release/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}