因为公司关系,踩了不少坑。原本以为可以一直用root来操作,其实不然,后面root账号会被回收。所以一开始用root安装的都卸载了,包括之前安装的mysql。全部改为普通用户安装,然后root把该授权的账号先麻溜给整好。
回归正题:
下载nginx,本屌下的是nginx-1.13.7.tar.gz
1、解压nginx
2、进入nginx解压文件目录
3、编译:
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-stream --with-stream_ssl_module
/usr/local/nginx 这是解压后的安装目录,如果是普通用户,那应该不是这个目录,应该是/home/xxx/nginx 类似这样
4、make & make install
5、查看目录下是否有nginx文件生成
6、需要注意一点,一般来讲,1024以下的端口号是不允许开放的,如果你要用到80,88之类的端口,那就先授权一下:
setcap cap_net_bind_service=+eip /home/xxx/nginx/sbin/nginx
同样的
/home/xxx/nginx/sbin/nginx 这个地址写你们自己的,别乱copy
7、启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
8、浏览器打开ip地址,看能不能正常访问。
9、修改conf配置文件
#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;
}
stream {
upstream cloudsocket {
server ip1地址:3306 weight=5 max_fails=3 fail_timeout=30s;
server ip2地址:3306 weight=5 max_fails=3 fail_timeout=30s backup;
}
server {
listen 3306;
proxy_connect_timeout 5s;
proxy_timeout 10s;
proxy_pass cloudsocket;
}
}
stream 花括号里头:
server 监听当前ip的3306端口,转发到server ip1 或者server ip2。在server ip2 后 加上backup。指明若ip1 正常,则不访问ip2。从逻辑来讲,不能同时操作两个数据库,毕竟两个数据库之间还有复制操作,容易出问题。
10、进入sbin目录,查看配置是否有误。
./nginx -t
出现successfull则成功。
11、其他命令:
重新加载配置 ./nginx -s reload
停止服务 ./nginx -s stop