Nginx安裝javascript
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 )
#!/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,並設置開啓啓動。
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
測試解析php vi /usr/local/nginx/html/1.php //加入以下內容 <?php echo "test php scripts."; ?> curl localhost/1.php
Nginx默認虛擬機php
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; }
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
Nginx用戶認證css
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
Nginx域名重定向html
更改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,建議設置永久重定向。