前期准备
yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel
一键安装环境:
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
国内镜像
wget http://mirrors.sohu.com/python/3.6.2/Python-3.6.2.tar.xz -P ~/.pyenv/cache/;pyenv install 3.6.2
#yum install mysql
#yum install mysql-server
#yum install mysql-devel
mysql-server 安装失败,可以使用mariadb 代替
# yum install mariadb-server mariadb
相关的命令:
mariadb数据库的相关命令是:
systemctl start mariadb #启动MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重启MariaDB
systemctl enable mariadb #设置开机启动
输入 mysqladmin -u root -p password root
后面的 root 是要设置的密码
回车后出现 Enter password
输入就密码,如果没有,直接回车
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","admin",password("admin"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:admin 密码为:admin 的用户。
create database mydb;
//授权admin用户拥有mydb数据库的所有权限。
>grant all privileges on mydb.* to admin@localhost identified by 'admin';
//刷新系统权限表
mysql>flush privileges;
使用wget命令下载(推荐)。
wget -c https://nginx.org/download/nginx*.tar.gz *替换具体的版本
依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
其实在 nginx-1.10.1 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
./configure
make
make install
查找安装路径:
whereis nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
查询nginx进程:
ps aux|grep nginx
./nginx -s quit
./nginx
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
最终nginx配置文件:
server {
listen 8080; #启动的nginx进程监听请求的端口
server_name localhost; #域名
error_log /var/log/xxx/error.log; #nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件
location / {
include /path/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:9090; #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /static/ {
alias /var/www/xxx/static/; #设定静态文件所在目录
}
location /media/ {
alias /var/www/xxx/media/; #同样自行设置,要保证目录已经建好
}
}
sudo pip install uwsgi
切换到项目目录下,会有 proj_name/wsgi.py 文件,执行一下命令:
uwsgi --http :8080 --module your_proj_name.wsgi
就可以运行你的web项目了,这时如果在浏览其中输入127.0.0.1:8080 能够成功访问,说明你的应用服务器部署成功,已经可以对外提供服务。
这种提供服务的方式可以表示为:
the web client <-> uWSGI <-> Django
多数情况下我们不会让浏览器直接与uwsgi交互,而是加入nginx作为中间设备转发或处理请求。
后面介绍只用配置文件启动,可以后台运行
配置在项目目录新建配置文件 uwsgi_config.ini,内容如下:
[uwsgi]
socket = 127.0.0.1:8080
workers = 4
chdir = /root/www/Shop_Coupon
touch-reload = /root/www/Shop_Coupon
py-auto-reload = 1
module= shop_coupon.wsgi
pidfile = /var/run/uwsgi.pid
daemonize = /var/log/uwsgi.log
然后执行命令:
uwsgi --ini mysite_uwsgi.ini # the --ini option is used to specify a file
更加详细的可以参考:http://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/tutorials/Django_and_nginx.html