service firewalld stop
yum install yum-utils
yum-builddep python
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar -xvJf Python-3.6.2.tar.xz
cd Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/python3
pip3 install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
测试一下uwsgi是否安装成功,编写test.py。
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World!"]
执行如下命令。
uwsgi --http :8001 --wsgi-file test.py
在浏览器里访问http://IP:8001,如果成功出现"Hello World!"就成功了。
vi /etc/yum.repos.d/nginx.repo
写入以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/x86_64/
gpgcheck=0
enabled=1
执行yum install nginx
setenforce 0
或者永久关闭selinux。
vi /etc/selinux/config
#将文件里SELINUX=enforcing 改成SELINUX=disabled,但是这个要重启才能生效。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql-server
server{
listen 80;
server_name localhost;
location / {
root /usr/share/nginx.html;
index index.html index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root /usr/share/nginx/html;
}
}
server {
listen 8089;
listen [::]:8089;
server_name 127.0.0.1 192.168.10.114;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:9000;
}
location /index/ {
root /index/;
}
location /static{
alias /home/root/pydj/django_one/sign/static;
}
}
进入项目路径下,例如我的项目名是HelloWorld,所以我要进入到这个目录下,
首先将该目录下与该目录同名的目录下的settings.py中的allow = []修改成allow = [’*’],方便外网访问。
vi django-uwsgi.ini
将以下内容写入
[uwsgi]
# 通过uwsgi访问django需要配置成http
# 通过nginx请求uwsgi来访问django 需要配置成socket
# 9000 是django的端口号
socket = :9000
# web项目根目录
chdir = /root/Project/django/HelloWorld/
# module指定项目自带的的wsgi配置文件位置
module = HelloWorld.wsgi
# 允许存在主进程
master = true
# 开启进程数量
processes = 3
# 服务器退出时自动清理环境
vacuum = true
#plugins = python
uwsgi --ini django_uwsgi.ini
重启nignx
service nginx restart
查看是否能访问成功,如果可以看到django的默认启动页面的话,那就说明可以成功。
接下来,添加防火墙规则
firewall-cmd --zone=public --add-port=8081/tcp --permanent#开放8081端口
firewall-cmd --reload#重新加载
service firewalld start
Tips:安装过程可能会出现各种各样的问题,多百度,注意看日志文件/var/log/nginx/error.log,一般都是nginx配置的问题,有可能是权限问题,有可能是端口占用,这个就需要大家自己根据日志解决了,每个人的问题都可能不一样,耐心一点就好了。