curl -L -o nginx-1.14.2 https://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
# 安装前,我们需要提前为 Nginx 创建一个运行用户和用户组(这里定义为 nginx:nginx,默认不登录不创建家目录):
groupadd nginx && useradd -s /sbin/nologin -g nginx -M nginx
yum install -y gc gcc gcc-c++ \
pcre pcre-devel \
zlib zlib-devel \
openssl openssl-devel
cd ~/nginx-1.14.2
# compile
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--http-log-path=/var/log/nginx/access.log \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre
make
# 提示 make[1]: 离开目录“/root/nginx-1.14.2”, ignore it.
make install
ln -s /usr/local/nginx/nginx /usr/local/sbin/nginx
vim /etc/nginx/nginx.conf # 配置路径
systemctl status nginx.service # 运行状态
service nginx restart # 重启
/var/opt/gitlab/nginx/conf/nginx.conf
增加配置:
server {
listen 80;
server_name u.domain.com;
root /root/project;
index index.php index.html index.htm;
include /etc/nginx/default.d/*.conf;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/u_access.log;
error_log /var/log/nginx/u_error.log;
}
location ~* \.(ini|cfg|dwt|lbi|sql|conf|sh|md)$ {
deny all;
}
server {
if ($host != 'test.com' ) {
rewrite ^/(.*)$ http://test.com/$1 permanent;
}
}
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Solution:
杀掉进程
sudo fuser -k 80/tcp
nginx配置问题