参考给小白的 Nginx 30分钟入门指南
one、安装:
root 用户登录
1、yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2、[root@bogon ~]# wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
3、[root@bogon ~]# tar zxvf pcre-8.42.tar.gz # 解压
4、[root@bogon ~]# cd pcre-8.42
5、[root@bogon pcre-8.42]# ./configure
6、[root@bogon pcre-8.42]# make && make install
7、[root@bogon pcre-8.42]# pcre-config --version
8、[root@bogon ~]# wget https://nginx.org/download/nginx-1.15.1.tar.gz
9、[root@bogon ~]# tar zxvf nginx-1.15.1.tar.gz
10、[root@bogon ~]# cd nginx-1.15.1
11、[root@bogon nginx-1.15.1]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/pcre-8.42 # 注意此 /root/pcre-8.42 为 pcre-8.42.tar.gz 解压后的文件夹
12、[root@bogon nginx-1.15.1]# make
13、[root@bogon nginx-1.15.1]# make install
14、[root@bogon nginx-1.15.1]# /usr/local/webserver/nginx/sbin/nginx -v
two、创建 Nginx 运行使用的用户 userweb:
useradd userweb
passwd userweb
Three、配置 /usr/local/webserver/nginx/conf/nginx.conf:
user userweb userweb;
worker_processes 4; #设置值和CPU核心数一致
error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
pid /usr/local/webserver/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
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;
#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m;
#下面是server虚拟主机的配置
server
{
listen 80;#监听端口
server_name localhost;#域名
index index.html index.htm index.php;
root /usr/local/webserver/nginx/html;#站点目录
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root /usr/local/webserver/nginx/html;
}
location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
{
expires 30d;
# access_log off;
}
location ~ .*\.(js|css)?$
{
expires 15d;
# access_log off;
}
access_log off;
}
}
four、 检查 nginx 配置文件正确性
/usr/local/webserver/nginx/sbin/nginx -t
five、启动 nginx
/usr/local/webserver/nginx/sbin/nginx
six、访问服务器 IP
seven、配置 nginx 自启动,参考(https://www.cnblogs.com/phpandmysql/p/7966538.html)<3、添加到系统服务>部分
vim /etc/init.d/nginx
#!/bin/sh
# chkconfig: 2345 85 15
# Startup script for the nginx Web Server
# description: nginx is a World Wide Web server.
# It is used to serve HTML files and CGI.
# processname: nginx
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx deamon"
NAME=nginx
DAEMON=/usr/local/webserver/nginx/sbin/$NAME
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
d_start(){
$DAEMON || echo -n "already running"
}
d_stop(){
$DAEMON -s quit || echo -n "not running"
}
d_reload(){
$DAEMON -s reload || echo -n "can not reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC conf..."
d_reload
echo "reload ."
;;
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 2
d_start
echo "."
;;
*)
echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
eight、保存退出后,再使用下面的命令,使其可执行;然后,添加配置并查看。可用chkconfig修改其值,也可用ntsysv工具改变是否自启动。
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on/off # 添加自启动 / 删除自启动
chkconfig --list nginx
root 用户权限:
service nginx start
service nginx stop
# nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off