版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://cloud.tencent.com/developer/article/1434724
# install from EPEL
[root@linuxprobe~]# yum --enablerepo=epel -y install nginx
# 基础设置
[root@linuxprobe~]# vi /etc/nginx/nginx.conf
# line 40: change hostname
server_name linuxprobe.org;
[root@linuxprobe ~]# systemctl start nginx
[root@linuxprobe ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@linuxprobe ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain linuxprobe.org
10.1.1.56 vdevops.com
# 开启防火墙
[root@linuxprobe ~]# firewall-cmd --add-service=http --permanent
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[root@linuxprobe ~]# vi /etc/nginx/conf.d/linuxcool.com.conf
# create new
server {
listen 80;
server_name linuxcool.com;
location / {
root /usr/share/nginx/linuxcool;
index index.html index.htm;
}
}
[root@linuxprobe ~]# mkdir /usr/share/nginx/linuxcool
[root@linuxprobe w ~]# systemctl restart nginx
[root@linuxprobe ~]# vi /usr/share/nginx/virtual.host/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Nginx LinuxCool Test Page
</div>
</body>
</html>
[root@linuxprobe ~]# vi /etc/nginx/nginx.conf
# add into "server" section
location ~ ^/~(.+?)(/.*)?$ {
alias /home/$1/public_html$2;
index index.html index.htm;
autoindex on;
}
[root@linuxprobe ~]# systemctl restart nginx
# 切到普通用户
[wang@linuxprobe~]$ chmod 711 /home/cent
[wang@linuxprobe~]$ mkdir ~/public_html
[wang@linuxprobe~]$ chmod 755 ~/public_html
[wang@linuxprobe~]$ vi ~/public_html/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Nginx UserDir Test Page
</div>
</body>
</html>
[root@linuxprobe~]# vi /etc/nginx/nginx.conf
# add into "server" section
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl;
server_name linuxprobe.org;
root /usr/share/nginx/html;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/certs/server.key;
[root@linuxprobe~]# systemctl restart nginx
[root@linuxprobe~]# firewall-cmd --add-service=https --permanent
success
[root@linuxprobe~]# firewall-cmd --reload
success
# 以auth_basic目录为例
[root@linuxprobe~]# yum -y install httpd-tools
[root@linuxprobe~]# vi /etc/nginx/nginx.conf
# add into "server" section
location /auth_basic {
auth_basic "Basic Auth";
auth_basic_user_file "/etc/nginx/.htpasswd";
}
[root@linuxprobe~]# htpasswd -c /etc/nginx/.htpasswd wang
New password: # set password
Re-type new password:
Adding password for user wang
[root@www ~]# systemctl restart nginx
# 创建目录及测试页面
[root@linuxprobe ~]# mkdir /usr/share/nginx/html/auth_basic
[root@linuxprobe ~]# vim /usr/share/nginx/html/auth_basic/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Nginx UserDir Test Page
</div>
</body>
</html>
[root@linuxprobe ~]# vi /etc/nginx/nginx.conf
# change like follows in "server" section
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name linuxprobe.org;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
location / {
proxy_pass http://vdevops.org/;
}
}
[root@linuxprobe ~]# systemctl restart nginx
[root@vdevops~]# vi /etc/httpd/conf/httpd.conf
# line 196: change
LogFormat "\"%{X-Forwarded-For}i\"
%l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
[root@vdevops~]# systemctl restart httpd
# 通过elinks(模拟浏览器访问)访问验证
[root@localhost ~]# yum -y install elinks
[root@linuxprobe ~]# elinks http://linuxprobe.org/
[root@linuxprobe ~]# yum --enablerepo=epel -y install php php-mbstring php-pear php-fpm
[root@linuxprobe ~]# vi /etc/php-fpm.d/www.conf
# line 39: change
user = nginx
# line 41: change
group = nginx
[root@linuxprobe ~]# systemctl start php-fpm
[root@linuxprobe ~]# systemctl enable php-fpm
[root@linuxprobe ~]# vi /etc/nginx/nginx.conf
# add into "server" section
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
[root@linuxprobe ~]# systemctl restart nginx
[root@www ~]# echo "<?php phpinfo() ?>" > /usr/share/nginx/html/info.php