In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/03 Report--
System package installation
# more / etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
#
# yum install epel-release
# yum install-y nginx
# yum install-y uwsgi
# yum install-y uwsgi-plugin-python
2.python packets
1)。 Setuptools
# wget https://pypi.python.org/packages/a9/23/720c7558ba6ad3e0f5ad01e0d6ea2288b486da32f053c73e259f7c392042/setuptools-36.0.1.zip#md5=430eb106788183eefe9f444a300007f0
# ll
# yum install-y unzip
# unzip setuptools-36.0.1.zip
# cd setuptools-36.0.1
# ls
# python setup.py install
# cd..
2). Ez_setup
# wget https://pypi.python.org/packages/ba/2c/743df41bd6b3298706dfe91b0c7ecdc47f2dc1a3104abeb6e9aa4a45fa5d/ez_setup-0.9.tar.gz
# ls
# tar zxvf ez_setup-0.9.tar.gz
# cd ez_setup-0.9
# ls
# python setup.py install
# cd..
3)。 Pip
# easy_install pip
4). Flask
# pip install Flask
5). Virtualenv
# pip install virtualenv
3.app configuration
1) .web app
# cd / opt/
# ls
# mkdir app
# ls
# useradd webapp
# chown webapp.webapp app
# su-webapp
$cd / opt/app
$vi app.py
From flask import Flask
App = Flask (_ _ name__)
@ app.route ("/")
Def index ():
Return "hello,Flask web app."
If _ name__ = = "_ _ main__":
App.run ('0.0.0.0, port=3333, debug=True)
$vi website.py
Import sys
Import os.path
Sys.path.insert (0, os.path.dirname (_ _ file__))
From app import app as application
$virtualenv-no-site-packages env
$. Env/bin/activate
$pip install flask
$python app.py
2). Uwsgi configuration
$mkdir-p uwsgi/apps-enabled
$vi uwsgi/apps-enabled/app.ini
[uwsgi]
Buffer-size = 32768
Plugins = python
Socket = 127.0.0.1UR 5000
Threads = 2
Master = true
Uid = webapp
Gid = webapp
Chdir = / opt/app/
Home = / opt/app/env/
Pp =.
Module = website
3) .nginx configuration
$mkdir-p nginx/sites-enabled
$vi nginx/sites-enabled/app.conf
Upstream flask {
Server 127.0.0.1:5000
}
# configuration of the server
Server {
# the domain name it will serve for
Listen 8080
# This is very important to test the server locally
Server_name _
# substitute your machine's IP address or FQDN
Charset utf-8
Location / {
Uwsgi_pass flask
Include uwsgi_params
}
}
$exit
Embed nginx profile
[root@localhost ~] # vi / etc/nginx/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
User nginx
Worker_processes auto
Error_log / var/log/nginx/error.log
Pid / run/nginx.pid
# Load dynamic modules. See / usr/share/nginx/README.dynamic.
Include / usr/share/nginx/modules/*.conf
Events {
Worker_connections 1024
}
Http {
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 / var/log/nginx/access.log main
Sendfile on
Tcp_nopush on
Tcp_nodelay on
Keepalive_timeout 65
Types_hash_max_size 2048
Include / etc/nginx/mime.types
Default_type application/octet-stream
# Load modular configuration files from the / etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
Include / etc/nginx/conf.d/*.conf
# python web app new add #
Include / opt/app/nginx/sites-enabled/app.conf
Server {
Listen 80 default_server
Listen [::]: 80 default_server
Server_name _
Root / usr/share/nginx/html
# Load configuration files for the default server block.
Include / etc/nginx/default.d/*.conf
Location / {
}
Error_page 404 / 404.html
Location = / 40x.html {
}
Error_page 500 502 503 504 / 50x.html
Location = / 50x.html {
}
}
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server
# listen [::]: 443 ssl http2 default_server
# server_name _
# root / usr/share/nginx/html
#
# ssl_certificate "/ etc/pki/nginx/server.crt"
# ssl_certificate_key "/ etc/pki/nginx/private/server.key"
# ssl_session_cache shared:SSL:1m
# ssl_session_timeout 10m
# ssl_ciphers HIGH:!aNULL:!MD5
# ssl_prefer_server_ciphers on
#
# # Load configuration files for the default server block.
# include / etc/nginx/default.d/*.conf
#
# location / {
#}
#
# error_page 404 / 404.html
# location = / 40x.html {
#}
#
# error_page 500 502 503 504 / 50x.html
# location = / 50x.html {
#}
#}
}
[root@localhost ~] #
4. Start uwsgi
[root@localhost soft] # uwsgi-- ini / opt/app/uwsgi/apps-enabled/app.ini
[uWSGI] getting INI configuration from / opt/app/uwsgi/apps-enabled/app.ini
* Starting uWSGI 2.0.14 (64bit) on [Fri Jun 2 17:16:49 2017] * *
Compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-11) on 13 January 2017 23:06:53
Os: Linux-3.10.0-514.el7.x86_64 # 1 SMP Tue Nov 22 16:42:41 UTC 2016
Nodename: localhost.localdomain
Machine: x86_64
Clock source: unix
Pcre jit disabled
Detected number of CPU cores: 1
Current working directory: / home/soft
Detected binary path: / usr/sbin/uwsgi
Setgid () to 1001
Setuid () to 1001
Chdir () to / opt/app/
Your processes number limit is 3862
Your memory page size is 4096 bytes
Detected max file descriptor number: 1024
Lock engine: pthread robust mutexes
Thunder lock: disabled (you can enable it with-- thunder-lock)
Uwsgi socket 0 bound to TCP address 127.0.0.1:5000 fd 3
Python version: 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
Set PythonHome to / opt/app/env/
Python main interpreter initialized at 0x12128e0
Python threads support enabled
Your server socket listen backlog is limited to 100 connections
Your mercy for graceful operations on workers is 60 seconds
Mapped 280832 bytes (274 KB) for 2 cores
* Operational MODE: threaded * *
Added.. / to pythonpath.
WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x12128e0 pid: 15167 (default app)
* uWSGI is running in multiple interpreter mode * *
Spawned uWSGI master process (pid: 15167)
Spawned uWSGI worker 1 (pid: 15172, cores: 2)
5. Start nginx
# nginx
6. Visit
Browser "http://server-ip:8080""
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.