LNMP架构(二)之nginx安装,虚拟主机,用户认证,域名重定向
2018-01-03 00:00
661 查看
Nginx安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/5bcdccb9112c09ca40d3b94c92f830b0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/5bcdccb9112c09ca40d3b94c92f830b0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/cc4da14f70b91c50ec1ea89ae467c0a2.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/d52dee82dd8579a5259a7622d507ff05.png)
Nginx默认虚拟机
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/323a5bc8faad0ee9f70742101f3f9f6e.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/359e97f8c3effe99df7407c1fdb75cdd.png)
Nginx用户认证
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/2ee2fbc979e1dfa79e7e47616b2ae193.png)
Nginx域名重定向
cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz tar zxf nginx-1.12.1.tar.gz cd nginx-1.12.1 ./configure --prefix=/usr/local/nginx make && make install vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx )
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/5bcdccb9112c09ca40d3b94c92f830b0.png)
#!/bin/bash # chkconfig: - 30 21 # description: http service. # Source Function Library . /etc/init.d/functions # Nginx Settings NGINX_SBIN="/usr/local/nginx/sbin/nginx" NGINX_CONF="/usr/local/nginx/conf/nginx.conf" NGINX_PID="/usr/local/nginx/logs/nginx.pid" RETVAL=0 prog="Nginx" start() { echo -n $"Starting $prog: " mkdir -p /dev/shm/nginx_temp daemon $NGINX_SBIN -c $NGINX_CONF RETVAL=$? echo return $RETVAL } stop() { echo -n $"Stopping $prog: " killproc -p $NGINX_PID $NGINX_SBIN -TERM rm -rf /dev/shm/nginx_temp RETVAL=$? echo return $RETVAL } reload() { echo -n $"Reloading $prog: " killproc -p $NGINX_PID $NGINX_SBIN -HUP RETVAL=$? echo return $RETVAL } restart() { stop start } configtest() { $NGINX_SBIN -c $NGINX_CONF -t return 0 } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; configtest) configtest ;; *) echo $"Usage: $0 {start|stop|reload|restart|configtest}" RETVAL=1 esac exit $RETVAL
chmod 755 /etc/init.d/nginx chkconfig --add nginx chkconfig nginx on 修改文件权限为755,并设置开启启动。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/5bcdccb9112c09ca40d3b94c92f830b0.png)
cd /usr/local/nginx/conf/; mv nginx.conf nginx.conf.bak 切换到conf目录,备份原配置文件,新建一个配置文件,内容如下。 vim nginx.conf //写入如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf)
user nobody nobody; //user用来定义启动nginx是哪个用户 worker_processes 2; //定义nginx的子进程 error_log /usr/local/nginx/logs/nginx_error.log crit; //错误日志 pid /usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; //nginx最多能打开多少个文件 events { use epoll; worker_connections 6000; //nginx最大的连接数 } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 3526; server_names_hash_max_size 4096; log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"'; sendfile on; tcp_nopush on; keepalive_timeout 30; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; connection_pool_size 256; client_header_buffer_size 1k; large_client_header_buffers 8 4k; request_pool_size 4k; output_buffers 4 32k; postpone_output 1460; client_max_body_size 10m; client_body_buffer_size 256k; client_body_temp_path /usr/local/nginx/client_body_temp; proxy_temp_path /usr/local/nginx/proxy_temp; fastcgi_temp_path /usr/local/nginx/fastcgi_temp; fastcgi_intercept_errors on; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_comp_level 5; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/htm application/xml; server { listen 80; server_name localhost; index index.html index.htm index.php; root /usr/local/nginx/html; //定义网址根目录,默认虚拟主机 location ~ \.php$ //定义支持解析php { include fastcgi_params; fastcgi_pass unix:/tmp/php-fcgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; } } }
/usr/local/nginx/sbin/nginx -t //检查配置文件语法是否正确 /etc/init.d/nginx start //开启nginx服务 netstat -lntp |grep 80
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/cc4da14f70b91c50ec1ea89ae467c0a2.png)
测试解析php vi /usr/local/nginx/html/1.php //加入如下内容 <?php echo "test php scripts."; ?> curl localhost/1.php
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/d52dee82dd8579a5259a7622d507ff05.png)
Nginx默认虚拟机
vim /usr/local/nginx/conf/nginx.conf //进入配置文件增加如下内容,去掉server。 include vhost/*.conf; //定义包含vhost目录下的配置文件,该vhost在conf目录下。 /usr/local/nginx/sbin/nginx -t //检查语法 mkdir /usr/local/nginx/conf/vhost //创建vhost目录 cd !$; vim default.conf //编辑虚拟主机文件,加入如下内容 server { listen 80 default_server; // 有这个标记的就是默认虚拟主机 server_name aaa.com; index index.html index.htm index.php; root /data/wwwroot/default; }
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/323a5bc8faad0ee9f70742101f3f9f6e.png)
mkdir -p /data/wwwroot/default/ //创建默认主机的网址根目录 echo “This is a default site.”>/data/wwwroot/default/index.html /usr/local/nginx/sbin/nginx -t //检查语法 /usr/local/nginx/sbin/nginx -s reload //重新加载nginx服务 curl localhost curl -x127.0.0.1:80 123.com
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/359e97f8c3effe99df7407c1fdb75cdd.png)
Nginx用户认证
vim /usr/local/nginx/conf/vhost/test.com.conf//写入如下内容 server { listen 80; server_name test.com; index index.html index.htm index.php; root /data/wwwroot/test.com; location / //定义用户认证的目录斜杠表示当前站点,要设置站点下的目录直接/dir/即可,如果要设置单个页面认证的话,用~ admin.php 即可。 { auth_basic "Auth"; auth_basic_user_file /usr/local/nginx/conf/htpasswd; } }
yum install -y httpd //安装httpd以支持htpasswd命令 htpasswd -cm /usr/local/nginx/conf/htpasswd aming //创建aming的密码文件,-m用md5加密,创建第二个就不需要-c参数了。 /usr/local/nginx/sbin/nginx -t //检查语法 /usr/local/nginx/sbin/nginx -s reload //重新加载nginx服务 mkdir /data/wwwroot/test.com vi /data/wwwroot/test.com/index.html
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/2ee2fbc979e1dfa79e7e47616b2ae193.png)
Nginx域名重定向
更改test.com.conf server { listen 80; server_name test.com test1.com test2.com; index index.html index.htm index.php; root /data/wwwroot/test.com; if ($host != 'test.com' ) { rewrite ^/(.*)$ http://www.baidu.com/$1 permanent; } } server_name后面支持写多个域名,这里要和httpd的做一个对比 permanent为永久重定向,状态码为301,如果写redirect则为302,建议设置永久重定向。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/28/ebbc309598c4822d12f29833b7b57ba3.png)
相关文章推荐
- LNMP架构 (2)之 Nginx安装、默认虚拟主机、用户认证、域名重定向、配置文件详解
- 【LNMP】Nginx安装、Nginx默认虚拟主机、Nginx用户认证和Nginx域名重定向
- LAMP架构(nginx安装,默认虚拟主机,用户认证,域名重定向,nginx配置文件详解)
- Nginx安装、默认虚拟主机 、Nginx用户认证、Nginx域名重定向
- nginx介绍,nginx安装,配置nginx默认虚拟主机,nginx用户认证,域名重定向
- Nginx介绍、Nginx安装、默认虚拟主机、用户认证、nginx中PHP解析
- linux的Nginx安装、默认虚拟主机、用户认证、域名重定向配置介绍
- 12.6 Nginx安装;12.7 Nginx默认虚拟主机;12.8 Nginx用户认证;12.9 Nginx域名重定向
- Nginx安装、默认虚拟主机、Nginx用户认证、Nginx域名重定向
- 安装nginx、nginx配置虚拟主机、用户认证、域名重定向
- Nginx安装与配置:默认虚拟主机、用户认证和域名重定向
- Nginx安装、默认虚拟主机、用户认证、域名重定向
- Nginx安装、默认虚拟主机、用户认证、nginx中PHP解析
- Nginx安装,默认虚拟主机,Nginx用户认证,Nginx域名重定向
- Nginx安装、默认虚拟主机、用户认证、域名重定向
- Nginx安装、默认虚拟主机、用户认证、nginx中PHP解析
- Nginx安装,Nginx默认虚拟主机,Nginx用户认证,Nginx重定向
- Nginx安装、默认虚拟主机、Nginx用户认证、Nginx域名重定向
- Nginx安装、默认虚拟主机、 Nginx用户认证、Nginx域名重定向
- 11-4 12 Nginx安装 默认虚拟主机 用户认证 域名重定向