1, What is web service?
Web service is a service-oriented architecture technology, which provides services through standard Web protocols to ensure that application services of different platforms can interoperate. According to the definition of W3C, Web service should be a software system to support the interactive operation of different machines in the network. Network services are usually composed of many application program interfaces. They execute the service requests submitted by customers through the network, such as the remote server of the Internet.
2, Common web server software
apache
Official website: https://www.apache.org/
Apache is the world's No. 1 Web server software. It can run on almost all widely used computer platforms. It is one of the most popular Web server-side software because of its cross platform and security. It is fast and reliable, and can compile interpreters such as Perl/Python into the server through simple API expansion.
nginx
Official website: http://nginx.org/
Nginx is a lightweight Web server / reverse proxy server and e-mail (IMAP/POP3) proxy server, which is distributed under BSD like protocol. Its characteristics are less memory and concurrent capability. In fact, nginx's concurrent capability is better in the same type of Web server. Chinese mainland users use Baidu website: Baidu, Jingdong, Sina, NetEase, Tencent, Taobao, etc.
Comparison of network models
apache uses the select model
nginx uses the epoll model
3, Nginx command
-
-v: Print version number
-
-5: Print version number and configuration items
-
-t: Check configuration file
-
-T: Test the configuration file and start
-
-q: Print error log
-
-s [option]: operation process
Stop stop
quit exit
reopen restart
Reload reload -
-p: Specify the working directory of nginx
-
-e: Specify the error log path
-
-c: Specifies the path to the configuration file
-
-g: Set a global Nginx configuration item
[root@web01 ~]# nginx -g 'daemon off;'
4, Nginx profile
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } 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; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
- User: Specifies the nginx startup user
- worker_processes: defines the number of nginx worker processes
- error_log: error log path
- pid: the file path where pid is stored
- events: module configuration
- worker_connections: how many requests can each worker process access simultaneously
- use: specify the network model of Nginx (this item does not need to be configured by default)
- http: module of web Service
- include: loads external configuration items
- default_type: if the file type cannot be found, it will be processed according to the specified default type
- log_format: defines the log format
log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"service":"nginxTest",' '"trace":"$upstream_http_ctx_transaction_id",' '"log":"log",' '"clientip":"$remote_addr",' '"remote_user":"$remote_user",' '"request":"$request",' '"http_user_agent":"$http_user_agent",' '"size":$body_bytes_sent,' '"responsetime":$request_time,' '"upstreamtime":"$upstream_response_time",' '"upstreamhost":"$upstream_addr",' '"http_host":"$host",' '"url":"$uri",' '"domain":"$host",' '"xff":"$http_x_forwarded_for",' '"referer":"$http_referer",' '"status":"$status"}'; access_log /var/log/nginx/access.log json ;
- sendfile: efficient reading of files
- keepalive_timeout: the maximum time for a long connection to remain connected
- server: website module
- listen: listening port
- server_name: define domain name
- location: access path
- root: Specifies the URL path
- Index: Specifies the index file of the web address