nginx installation
1. Pre install sudo Yum install Yum utils
2. Create a / etc in the root directory of the server/ yum.repos .d/ nginx.repo File, edit as follows:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
3.
sudo yum install nginx
In this way, we have completed the installation of nginx. There is no reason why the three steps are required by the official website;
In this way, we install nginx in / etc/nginx/default.conf Medium configuration
2.nginx configuration
The default configuration of nginx we just generated is as follows
user nginx; //Default user worker_processes 1;//cpu core error_log /var/log/nginx/error.log warn;//Print error log path pid /var/run/nginx.pid;//After nginx runs and starts, this identification file will be generated to record the ID number of the main process of nginx. events {//Set the maximum number of connections worker_connections 1024; } http { include /etc/nginx/mime.types; //Set up various 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"';//How to print the log, $identifies the variable access_log /var/log/nginx/access.log main;//Print access log sendfile on;//Specifies whether sendfile system calls are used to transfer files. Sendfile system calls directly transfer data between two file descriptors (operate entirely in the kernel), so as to avoid copying data between kernel buffer and user buffer. The operation efficiency is very high, which is called zero copy keepalive_timeout 65;//Default connection time include /etc/nginx/conf.d/*.conf;//The default configuration is contained in the. conf file }
The last line above is also clear to us. Let's take a look at the detailed notes of the default configuration:
server { listen 80;//Default listening port 80 server_name localhost; access_log /var/log/nginx/host.access.log main;//Print log location location / { root /usr/share/nginx/html;//Configure access folders index index.html index.htm;//Configure access path } }
deploy
Download xshell and winscp. Xshell is a tool for connecting to the server. Winscp uploads files to the server, but I have a problem;
First of all, I bought a server from Alibaba cloud server, and then installed and built it according to the above operations. But I changed the configuration file on nginx and it didn't take effect. Because I was the first time to contact nginx and didn't know much about this, I directly used localhost to access it (I'm really an nt, since I uploaded it to the server, of course, I used the server to access it) , but still stay in welcome to nginx! This is a very evil way. Then, it's not a configuration problem to check all kinds of data on the Internet. It's the port we wrote in the configuration file that points to 80, but alicloud needs to set up a security group. After setting, enter the server address in the web address to see what we've changed index.html , but I point to the root file in congf Clipped index.html
location / { root /root;//Configure access folders index index.html index.htm;//Configure access path }
Open the webpage again to display 403. It's OK that I have Baidu. Then I found out that it's a permission problem. Just change the user in the configuration to user nginx. Then restart nginx (restart as long as you change the configuration file), so that you can display the file normally;
Common commands
systemctl start nginx //start nginx systemctl status nginx.service //View the status of nginx systemctl disable firewalld.service //Turn off firewall ps -ef |grep nginx//View process history !(No)//History of using commands systemctl restart nginx.service//Restart nginx