我是靠谱客的博主 搞怪金毛,最近开发中收集的这篇文章主要介绍基于centos7.6的物联网构建(一)云服务器lnmp,django准备云服务器准备,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 云服务器准备
    • 1. 购买并实例化云服务器
    • 2. LNMP环境搭建
      • 2.0 增加SWAP
      • 2.1 安装nginx
      • 2.2 安装mysql5.7
      • 2.3 安装PHP7.2
      • 2.4 配置php-fpm,让nginx与php关联
      • 2.5 安装phpmyadmin5.04
    • 3. 搭建Web应用框架Django
      • 3.1 安装python3
      • 3.2 Django 安装
      • 3.3 Django 创建第一个项目
    • 4. Nginx+uwsgi+Django
      • 4.1 安装uwsgi及其环境
      • 4.2 uwsgi 配置
      • 4.3 Nginx 配置
      • 4.4 重启 Nginx 运行 uwsgi

云服务器准备

1. 购买并实例化云服务器

我们用阿里云的轻量应用服务器,方便于我们开发。
购买链接: https://www.aliyun.com/product/swas.
直接购买有些昂贵,也可以通过阿里云的云翼计划购买(需要认证学生证)
购买链接: https://developer.aliyun.com/plan/grow-up.
在这里插入图片描述
点击立即抢购,我们选用CentOS 7.6镜像
在这里插入图片描述

购买成功后,我们就可以进入控制面板,也能看到我们的IP
在这里插入图片描述

打开防火墙
在这里插入图片描述
然后设置远程连接,设置密码
在这里插入图片描述
重启后,我们就可以使用Xshell连接了

2. LNMP环境搭建

打开Xshell,并连接阿里云服务器 ,以下操作均在root权限下运行,不是root权限自觉加sudo

2.0 增加SWAP

free -m   #查看已有SWAP大小
mkdir /swap
fallocate -l 6G /swap/swapfile
mkswap /swap/swapfile
swapon /swap/swapfile
swapoff swapfile   #卸载SWAP

为了让这个SWAP开机自动挂载,还需要:

echo "/swap/swapfile /swap swap defaults 0 0" >>  /etc/fstab

2.1 安装nginx

  • dnf安装nginx
    yum -y install nginx
    
  • 启动并开机自启 nginx
    systemctl start nginx && systemctl enable nginx
    

这时我们打开浏览器,访问服务器的公网IP,如果出现Welcome to nginx!那么nginx就安装成功了
在这里插入图片描述

2.2 安装mysql5.7

  • 安装mysql
    cd
    wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    yum -y install mysql57-community-release-el7-10.noarch.rpm
    #yum module disable mysql   #mysql8需要
    yum -y install mysql-community-server
    
  • 启动以及开机自启
    systemctl start mysqld && systemctl enable mysqld
    
  • 修改密码
    查看初始密码
    cat /var/log/mysqld.log |grep password
    
    登录
    mysql -uroot -p
    
    修改密码规则
    set global validate_password_length=4;
    set global validate_password_policy=0;
    
    修改密码,退出
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
    exit
    

2.3 安装PHP7.2

yum -y install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-pear php72w-pecl-xdebug php72w-soap php72w-memcached

2.4 配置php-fpm,让nginx与php关联

  • 修改php-fpm配置文件
    vi /etc/php-fpm.d/www.conf
    
    找到并修改内容
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0666
    

在这里插入图片描述

  • 修改完成后:wq退出,重启php-fpm服务
    systemctl start php-fpm && systemctl enable php-fpm
    
  • 修改nginx的配置
    vi /etc/nginx/nginx.conf
    
    添加以下内容
    location ~.php$ {
    	root /var/www/html; 
    	fastcgi_pass 127.0.0.1:9000;
    	fastcgi_index index.php;
    	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    	include fastcgi_params;
    }
    

在这里插入图片描述

  • 使用nginx -t命令确认格式无错误,重启nginx
    nginx -t && nginx -s reload
    
  • 新建一个php文件用于测试
    vi /var/www/html/index.php
    
    将以下内容写入,然后保存退出
    <?php
    phpinfo(); 
    ?>
    
    在这里插入图片描述
  • 打开浏览器,访问服务器的公网IP/index.php,如果看到以下画面,则说明关联成功
    在这里插入图片描述

2.5 安装phpmyadmin5.04

  • 安装zip解压软件
    yum install -y unzip zip
    
  • 下载安装包
    cd
    wget https://files.phpmyadmin.net/phpMyAdmin/5.0.4/phpMyAdmin-5.0.4-all-languages.zip --no-check-certificate
    
  • 解压
    unzip phpMyAdmin-5.0.4-all-languages.zip
    
  • 移动到web目录下
    mv phpMyAdmin-5.0.4-all-languages /var/www/html/
    
  • 重新命名
    cd /var/www/html/
    mv phpMyAdmin-5.0.4-all-languages phpmyadmin
    
  • 修改配置文件
    vi /etc/nginx/nginx.conf
    
    添加phpmyadmin的路径
    location /phpmyadmin {
        alias /var/www/html/phpmyadmin;
        index index.php;
    }
    
    location ~ /phpmyadmin/.+.php$ {
        if ($fastcgi_script_name ~ /phpmyadmin/(.+.php.*)$) {
            set $valid_fastcgi_script_name $1;
        }
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html/phpmyadmin/$valid_fastcgi_script_name;
    }
    

在这里插入图片描述

  • 使用nginx -t命令确认格式无错误,重启nginx
    nginx -t && nginx -s reload
    
  • 打开浏览器,访问服务器的公网IP/phpmyadmin,如果看到以下画面,则说明安装成功
    在这里插入图片描述
    我们之前教程设置的用户名和密码均是root

3. 搭建Web应用框架Django

3.1 安装python3

在CentOS 7.6中,只有python2,为了方便,安装python3,按需选择版本
安装环境:

yum install -y libffi-devel zlib* openssl-devel
cd
wget https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz --no-check-certificate
tar -zxvf sqlite-autoconf-3400000.tar.gz
cd sqlite-autoconf-3400000
./configure --prefix=/usr/local
make&&make install
mv /usr/bin/sqlite3 /usr/bin/sqlite3.7.17
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig

python3.9:

cd
wget https://www.python.org/ftp/python/3.9.15/Python-3.9.15.tar.xz
tar -xJf Python-3.9.15.tar.xz
cd Python-3.9.15
make clean
./configure --prefix=/usr/local/python3.9.15
make && make altinstall
ln -s /usr/local/python3.9.15/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3.9.15/bin/pip3.9 /usr/bin/pip3
echo "export PATH="$PATH:/usr/local/python3.9.15/bin/"" >>  /etc/profile
source /etc/profile

python3.7:

cd
wget https://www.python.org/ftp/python/3.7.15/Python-3.7.15.tar.xz
tar -xJf Python-3.7.15.tar.xz
cd Python-3.7.15
make clean
./configure --prefix=/usr/local/python3.7.15 --enable-optimizations
make && make altinstall
ln -s /usr/local/python3.7.15/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3.7.15/bin/pip3.7 /usr/bin/pip3
echo "export PATH="$PATH:/usr/local/python3.7.15/bin/"" >>  /etc/profile
source /etc/profile

3.2 Django 安装


pip3 install --upgrade pip
pip3 install django==3.2.16 #2.1.8

3.3 Django 创建第一个项目

在根目录下尝试创建Django项目

cd
django-admin startproject mysite

我们可以通过ls查看当前目录文件,可以发现多出一个名为HelloWorld的文件
我们可以cd进去,然后启动服务器

cd /root/mysite/
python3 manage.py runserver 0.0.0.0:8000

有可能出现下面错误,根据提示,Ctrl + c 退出后,输入python manage.py migrate即可解除错误
在这里插入图片描述

python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000

可以看到成功运行
在这里插入图片描述
在浏览器输入你服务器的 ip(这里我们输入本机 IP 地址: 47.111..:8000),IP地址可以在阿里云的控制面板找到,在浏览器中可能出现错误
在这里插入图片描述
这是因为HOSTS没设置,我们可以修改settings.py来去除错误

cd /root/mysite/mysite
vi settings.py


在这里插入图片描述
i进入插入模式,改为
在这里插入图片描述
然后按Esc退出插入模式,输入:wq保存退出。此时我们再次运行manage.py

cd /root/mysite/
python3 manage.py runserver 0.0.0.0:8000

打开浏览器刷新,可以看到安装成功
在这里插入图片描述

4. Nginx+uwsgi+Django

4.1 安装uwsgi及其环境

#yum -y update python-devel
#yum -y install python36-devel
pip3 install uwsgi

4.2 uwsgi 配置

创建日记文件

cd
mkdir uwsgi_log
vi uwsgi_log/uwsgi9090.log

在/etc/目录下新建uwsgi9090.ini,添加如下配置

vi /etc/uwsgi9090.ini
[uwsgi]
socket = 127.0.0.1:9090
master = true
#vhost = true
#no-site = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
buffer-size = 30000
chdir = /root/mysite
wsgi-file = mysite/wsgi.py
pythonpath = /usr/bin/python3
daemonize = /root/uwsgi_log/uwsgi9090.log

4.3 Nginx 配置

vi /etc/nginx/nginx.conf
location / {
    include  uwsgi_params;
    uwsgi_pass  127.0.0.1:9090;
}

在这里插入图片描述

4.4 重启 Nginx 运行 uwsgi

uwsgi --ini /etc/uwsgi9090.ini
nginx -t && nginx -s reload
#killall -9 uwsgi     关闭所有uwsgi进程

在浏览器输入 IP 地址,就可以看到
在这里插入图片描述

最后

以上就是搞怪金毛为你收集整理的基于centos7.6的物联网构建(一)云服务器lnmp,django准备云服务器准备的全部内容,希望文章能够帮你解决基于centos7.6的物联网构建(一)云服务器lnmp,django准备云服务器准备所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部