linux上的nginx服务器配置和优化

1.安装nginx
wget -c http://nginx.org/download/nginx-1.12.2.tar.gz
偶数版本是稳定版本

2.解压
tar xf nginx-1.12.2.tar.gz
cd nginx-1.12.2.tar.gz
所有可以执行的脚本都是绿色的

3.执行检测
./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-http_ssl_module
prefix:安装路径
指定用户和组,权限用户
with指定安装的模块
–with-http_ssl_modul
–with-http_realip_modul 显示真实来源ip负载均衡使用
–with-http_gzip_static_modul 指定压缩
–with-http-pcre 支持rewrite
显示:./configure: error: C compiler cc is not found
使用:yum -y install gcc gcc-c++ autoconf automake make
解决问题

这个是预编译:检查环境
出现error:the HTTP rewrite module requires the PCRE library.
去安装开发组包!!!!任何都是这样!!!!
解决:xxx-devel
yum install -y pcre-devel
yum install -y openssl-devel

4.编译
make -j8
j8意思是8线程

5.安装
make install -j8

6.启动nginx
/usr/local/nginx/sbin/nginx

error:nginx: [emerg] getpwnam(“nginx”) failed
原因:没有对应的nginx的用户
添加用户和密码:
useradd nginx
passwd nginx
nginx

关闭防火墙后即可进行访问。
systemctl stop firewalld
iptables -F
setenforce 0
配置成功

7.隐藏版本信息
make clean 少了Makefile(记录了所有编译的选项) objs

cd /root/nginx-1.12.2/src/core vim /root/nginx-1.12.2/src/core/nginx.h 13.14行自行修改 cd /root/nginx-1.12.2 继续编译 ./configure –prefix=/usr/local/nginx –user=nginx –group=nginx –with-http_ssl_module make -j8 && make install 重启nginx /usr/local/nginx/sbin/nginx -s reload /usr/local/nginx/sbin/nginx -s stop 停止 再启动,出现结果

优化:

更改默认用户 优化绑定不同的nginx进程到不同的CPU上 首先查看cpu核心数:grep -c processor /proc/cpuinfo 修改主配置文件 vim /usr/local/nginx/conf/nginx.conf

两核CPU参数配置
worker_processes 2;
worker_cpu_affinity 01 10;

四核CPU参数配置
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;

八核CPU参数配置
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

八核CPU参数配置
worker_processes 8;
worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;

/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
error:nginx: [error] invalid PID number “” in “/usr/local/nginx/logs/nginx.pid”
解决:用指定文件加载nginx配置文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
配置成功