Nginx安装环境:须安装C++
安装c++查看命令:rpm -qa |grep gcc*
没安装执行下列命令: yum install gcc-c++
Nginx安装步骤:
依赖库包下载完之后上传至linux系统后:
一 进入安装包的文件夹后先解压文件openssl-fips-2.0.16.tar.gz
1 tar -zxvf openssl-fips-2.0.16.tar.gz
进入源码包:
2 cd openssl-fips-2.0.16
3 ./config
4 make
5 make install
到此第一个包安装完毕!
二 回到安装包文件夹安装下一个包pcre-8.32.tar.gz
还是先解压文件
1 tar -zxvf pcre-8.32.tar.gz
进入源码包
2 cd pcre-8.32
3 ./configure
4 make
5 make install
三 安装完毕,回到安装包目录,在安装第三个包zlib-1.2.11.tar.gz :
1 tar -zxvf zlib-1.2.11.tar.gz
2 cd zlib-1.2.11
3 ./configure
4 make
5 make install
四 好,依赖包安装完后就可以安装Nginx
1 tar -zxvf nginx-1.12.0.tar.gz
2 cd nginx-1.12.0
3 ./configure
4 make
5 make install
至此 Nginx安装完毕!
还没完,要想用还需要开放80端口
命令 vi /etc/sysconfig/iptables 进入看看有没有80端口,如果没有80端口,添加一个80端口:添加如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Nginx安装完毕,可以启动应用了。
如果启动Nginx出现如下错误:
error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
64位系统容易出现这个问题,找不到动态库libpcre.so.1
解决如下:
1 whereis libpcre.so.1
我的出现如下:libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so.1 /usr/local/lib/libpcre.so
安装位置不同,出现的链接不同,根据个人 情况输入
ln -s /usr/local/lib/libpcre.so.1 /lib64/libpcre.so.1
就此完成
有的时候启动nginx会出现端口被占用,我之前安装过gitlab,gitlab自带的nginx和安装的nginx端口有冲突,在网上查找又一个解决方法就是:
进入此文件夹:
opt/gitlab/embedded/sbin
输入:vi run
修改如下内容:
exec chpst -P /opt/gitlab/embedded/sbin/nginx -p /var/opt/gitlab/nginx #
改为 exec chpst -P /opt/gitlab/embedded/sbin/nginx2 -p /var/opt/gitlab/nginx
保存退出,在将占用80端口的进程杀死,后重启nginx,就解决问题了。
nginx 配置负载均衡需要配置的文件:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
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;
#gzip on;
#负载均衡到tomcat,进行轮询,需要配置
upstream tomcats{
server tomcat1:8888 weight=1;
server tomcat2:8888 weight=1;
server tomcat3:8888 weight=1;
}
server {
listen 80;
#此处需要配置
server_name hdp-nginx;
#此处需要配置
location ~ .* {
proxy_pass http://tomcats;
}
}
}