Nginx 入门级配置
2019獨角獸企業重金招聘Python工程師標準>>>
Ubuntu下安裝Nginx
sudo apt-get install nigx啟動
sudo nginx在瀏覽器中輸入
http://localhost:80/出現 Welcome to nginx! 安裝成功
重啟
sudo service nginx restart停止
sudo service nginx stop靜態目錄訪問
-
查找nginx.conf
sudo find / -name nginx.conf結果:/etc/nginx/nginx.conf
-
修改默認靜態文件目錄,查看/etc/nginx/nginx.conf; 會發現里面有一條include /etc/nginx/sites-enabled/*;, 那去site-enabled目錄看看吧,查看 /etc/nginx/site-enable/default 文件;找到 root /usr/share/nginx/www; , 去這個目錄看看吧,發現有個index.html;那么看看內容發現是’Welcome to nginx!‘
所以修改靜態文件夾就是修改root 后面那一串自己的數字就可以了
如果像瀏覽自己的文件目錄
location /a/ {autoindex on; }負載均衡配置(后端使用tornado)
-
先寫一個tornado的hello.py
import tornado.ioloopfrom tornado.options import define, optionsimport tornado.webdefine("port", default=8888, help="run on the given port", type=int)tornado.options.parse_command_line()class MainHandler(tornado.web.RequestHandler):def get(self):s = "Hello, world "+str(options.port)self.write(s)application = tornado.web.Application([(r"/test/?", MainHandler),(r"/", MainHandler),])if __name__ == "__main__":application.listen(options.port)tornado.ioloop.IOLoop.instance().start()啟動web: python hello.py -port=9000
瀏覽器輸入:http://localhost:9000 就會看到結果了
-
使用nginx負載均衡,修改nginx.conf參考tornado官網
user nginx;worker_processes 1;error_log /var/log/nginx/error.log;pid /var/run/nginx.pid;events {worker_connections 1024;use epoll;}http {# Enumerate all the Tornado servers hereupstream frontends {server 127.0.0.1:8000;server 127.0.0.1:8001;server 127.0.0.1:8002;server 127.0.0.1:8003;}include /etc/nginx/mime.types;default_type application/octet-stream;access_log /var/log/nginx/access.log;keepalive_timeout 65;proxy_read_timeout 200;sendfile on;tcp_nopush on;tcp_nodelay on;gzip on;gzip_min_length 1000;gzip_proxied any;gzip_types text/plain text/html text/css text/xmlapplication/x-javascript application/xmlapplication/atom+xml text/javascript;# Only retry if there was a communication error, not a timeout# on the Tornado server (to avoid propagating "queries of death"# to all frontends)proxy_next_upstream error;server {listen 80;# Allow file uploadsclient_max_body_size 50M;location ^~ /static/ {root /var/www;if ($query_string) {expires max;}}location = /favicon.ico {rewrite (.*) /static/favicon.ico;}location = /robots.txt {rewrite (.*) /static/robots.txt;}location / {proxy_pass_header Server;proxy_set_header Host $http_host;proxy_redirect false;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Scheme $scheme;proxy_pass http://frontends;}}}
重啟nginx:
sudo service nginx restart啟動多個tornado(多個終端啟動,或者是后臺啟動):
python hello.py -port=8000 python hello.py -port =8001 python hello.py -port=8002 python hello.py -port =8003瀏覽器輸入: http://localhost, 發現沒反應, 查看nginx錯誤日志:/var/log/nginx/error.log出現問題:getpwnam("nginx") failed 解決問題:
sudo adduser --system --no-create-home --disabled-password --group nginx重啟ngixn, 再試瀏覽器;Ok,刷新瀏覽器,會發現每次返回的端口都是不一樣;說明后面的都訪問到了
###總結
以上的配置都是nginx最常用的入門級配置;有了這些基礎就可以去找官網找些適用于自己的配置; 其他配置: 參考博客http://blog.s135.com/post/306
轉載于:https://my.oschina.net/jiemachina/blog/185484
總結
以上是生活随笔為你收集整理的Nginx 入门级配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文件内容的替换
- 下一篇: Linux 整理笔记