Strongding 2020-05-12
sudo apt-get install nginx
安装完成之后,直接使用ip地址访问服务器,就可以看到nginx的默认欢迎页面了。
如果安装报错比如80端口占用,说明此前安装了其它网络服务器,建议全都关掉再安装,并且让nginx独占80端口作为反向代理服务器
安装完成之后配置反向代理,使用whereis nginx命令找到配置文件所在文件夹,找到nginx.conf后进行如下修改(记得备份该文件)
$ whereis nginx # 显示nginx相关目录,挨个看看找到nginx.conf的位置,不同的系统可能不一样 $ cd /etc/nginx # 我的nginx配置在这里,不同版本会有区别 $ sudo cp nginx.conf nginx.conf.bk # 备份 $ sudo vi nginx.conf
我的配置如下
############### nginx.conf ############### user www-data; worker_processes auto; pid /run/nginx.pid; events { use epoll; worker_connections 51200; multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off; server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /data/wwwlogs/nginx/access.log; error_log /data/wwwlogs/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ############# basic web ############# server { listen 80; # 监听80端口 # server_name milkyship.cn www.milkyship.cn; access_log /data/wwwlogs/nginx/access.log combined; # 日志文件位置 root /data/wwwroot; # 网页根目录 index index.html index.php index.jsp; # 主页文件 #error_page 404 /404.html; #error_page 502 /502.html; location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|mp3|wma|wmv|swf|flv|mp4|mkv|avi|ico|txt|pdf|rar|zip|7z|gz)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } location ~ .*\.[(php)(html)(htm)]$ { proxy_pass http://127.0.0.1:8090; # 转发Apache服务器 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ ^/(\.user.ini|\.ht|\.git|\.svn|\.project|LICENSE|README.md) { deny all; } location ~.*$ { proxy_pass http://127.0.0.1:8080; # 转发TomCat服务器 # include proxy.conf; } } ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
最后使用
$ service nginx restart
重启nginx服务器,如果报错,检查刚刚设置过程中有没有拼写错误,设置的网站根目录有没有建立好
sudo apt-get install apache2
!!!下方操作前记得备份!!!
安装完成后在 /etc/apache2/ports.conf 中修改所有的80到8090,443到8091以避开nginx监听端口
再在 /etc/apache2/sites-enabled/000-default.conf 中修改DocumentRoot到个人的网站根目录
最后使用
$ service apache2 restart
重启apache服务器,如果报错,检查刚刚设置过程中有没有拼写错误,设置的网站根目录有没有建立好
$ sudo apt-get install tomcat8 $ service tomcat8 start
这里没什么配置要改,前面该改的都弄好了
现在服务器上有3个web服务器在运行,nginx监听80端口做前台反向代理,apache监听8090端口做php服务器,tomcat监听8080端口做java服务器,并且使用的时候使用nginx正则匹配url分配流量到正确的服务器上(这个还需要后面进一步设置)
$ sudo apt-get install vsftpd $ sudo vi /etc/vsftpd.conf # 进入配置
文件尾追加:
#配置ftp服务器的上传下载文件所在的目录。 local_root=/home/ftpfile
如果想要使用管理员权限登入以访问非ftp指定目录,在配置文件中找到如下属性,如下修改:
chroot_local_user=YES chroot_list_enable=YES # (default follows) 允许chroot_list文件中配置的用户登录此ftp服务器。 chroot_list_file=/etc/vsftpd.chroot_list # 本行需要新增
随后配置允许管理员权限登入的用户,每行写入一个允许管理员权限登入的用户的用户名
$ sudo vi /etc/vsftpd.chroot_list
最后重启ftp服务
$ service vsftpd restart
此时便可以使用ftp工具登录服务器进行文件传输
某些公司会墙特定网站,如果你有一个可访问的域名和服务器,就可以通过nginx反向代理来来解决这些问题。比如现在我们用mirror.example.com镜像www.baidu.com,以下是详细操作。