Ubuntu筆記 Ubuntu使用過程中整理的一些常用或關鍵操作整理,以備不時之需, 另外自己可以對界面做一些美化,這部分自行百度去配置,我的界面如圖 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = t ...
Ubuntu筆記
Ubuntu使用過程中整理的一些常用或關鍵操作整理,以備不時之需,
另外自己可以對界面做一些美化,這部分自行百度去配置,我的界面如圖
##################Ubuntu18.04版###########################
1.########################換源##############################
1) 備份預設的apt源
1 $ cd /etc/apt
2 $ sudo cp sources.list sources.list.backup
2) 編輯
$ sudo gedit sources.list
複製粘貼以下列表:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源碼
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main
3) 註意,每次修改完apt源,一定要執行一下更新
##更新
sudo apt-get update 更新源
sudo apt-get upgrade 更新軟體
2.########################配置c++環境###################
sudo apt-get install build-essential //安裝了該軟體包,編譯c/c++所需要的軟體包也都會被安裝。
3.############################python3.6#######################
ubuntu18版本預設安裝Python3.6,沒安裝2.7等 其他
sudo apt-get install python3.6
調整Python3的優先順序,使得3.6優先順序較高
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
更改預設值,python預設為Python2,現在修改為Python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
輸入命令sudo apt-get install python3-pip安裝pip
輸入命令sudo pip3 install --upgrade pip更新pip
接下來,安裝Django:
sudo apt install python3-django
sudo pip install Django==1.11.13
sudo pip install Django==2.1.5
通過鍵入以下內容來測試安裝是否成功:
django-admin --version
安裝pyecharts
pip install pyecharts
卸載Python包命令 pip uninstall xlrd
遠程運行django命令:
python manage.py runserver 0.0.0.0:8000
劉暘項目 pyecharts配置:
⁄usr⁄local⁄lib⁄python3.6/dist-packages/constants.py 添加 DEFAULT_HOST="../static/js"
4 。##########################lamp#############################
可從網上找相關資料
MySQL
1.安裝MySQL
首先查看一下自己PC是否安裝了其他版本的mysql,有則刪之。。。
查看版本號:
mysql -V
apt-get autoremove --purge mysql-server-版本號
apt-get autoremove mysql-server
apt-get remove mysql-common
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
至此,卸載完成
#命令1
sudo apt-get update
#命令2
sudo apt-get install mysql-server mysql-client
2.1 安裝配置
sudo mysql_secure_installation
2.2 檢查mysql服務狀態:
systemctl status mysql.service
設置密碼等級
sudo su
mysql
set global validate_password_policy=0;
設置密碼長度
set global validate_password_length=4;
以root進入mysql後也可用命令給root設置密碼:
#這個為允許本地登錄
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
#這個為允許遠程登錄
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '8341' WITH GRANT OPTION;
設置Ubuntu18.04安裝MySQL後普通用戶登錄
sudo su
mysql
select user, plugin from mysql.user;
發現MySQL的root用戶的plugin被修改了,只有換成mysql_native_password才可以使用密碼登錄MySQL。
使用下麵的命令更改plugin,同時設置MySQL的root訪問密碼
update mysql.user set authentication_string=PASSWORD('8341'), plugin='mysql_native_password' where user='root';
#刷新許可權
flush privileges;
退出後,切換到普通用戶shell並重啟MySQL,即可使用root用戶和上一步設置的root密碼登錄MySQL。
重啟mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart
====================忘了mysql密碼,從網上找到的解決方案記錄在這裡====================
結束當前正在運行的mysql進程
# /etc/init.d/mysql stop
用mysql安全模式運行並跳過許可權驗證
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
用空密碼方式使用root用戶登錄 MySQL
# mysql -u root mysql
更新密碼
# update user set Password = PASSWORD('root') where User ='root';
刷新許可權
# FLUSH PRIVILEGES;
退出
# quit
4.1#########################phpmyadmin###########################
apt-get 安裝
sudo apt-get install phpmyadmin
已有的虛擬主機目錄建立軟連接
sudo ln -s /usr/share/phpmyadmin/ /var/www/
但是 ubuntu中的mysql 預設是不允許的 所以要修改mysql的配置
sudo vim /etc/mysql/my.cnf #修改 bind-address 白名單 取消掉
5.############################Vim################################
重新安裝vim:
sudo apt-get remove vim-common
sudo apt-get install vim
或
執行下麵的命令就自動安裝好了:
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
6.#########################Django部署到apache2###########################
教程見自強學堂
https://code.ziqiangxuetang.com/django/django-deploy.html
apt-get update #獲取更新列表
apt-get install apache2 #安裝 Apache2
Restart Apache 2 Server /重啟apache服務
#修改 /etc/apache2/envvars 文件添加下麵兩句 配置中文環境
export LANG='zh_CN.UTF-8'
export LC_ALL='zh_CN.UTF-8'
apt-get install libapache2-mod-wsgi-py3 #讓 Apache2識別 Python3 程式的請求,安裝 mod-wsgi模塊
確認安裝的 Apache2 版本號
apachectl -v
ls /user/bin | grep python
預設的版本改為Python 3
apachectl -v 查看apache2版本號,本次實驗是安裝的是Apache 2.4.18
安裝 Python 的 pip 組件管理程式和虛擬機環境程式 virtualenv
pip3 install virtualenv ,可不裝
Django項目中順手新建兩個文件夾:
mkdir static
mkdir media
在 /etc/apache2/sites-available/下新建一個文件 這裡我把它命名為mysite.conf,文件名可任意取。
sudo vim /etc/apache2/sites-available/mysite.conf
在mysite.conf文件下輸入: (埠為8000,同時後面要為其添加監聽埠8000,見後面)
<VirtualHost *:8000>
ServerName www.XXX.com(這裡替換成你自己功能變數名稱)
ServerAlias anothername.com
ServerAdmin 1249223183@qq.com(這裡替換成你自己的郵箱)
DocumentRoot /var/www/djangotest/ (這裡的參數替換成你自己的項目的目錄)
Alias /media/ /var/www/djangotest/media/
Alias /static/ /var/www/djangotest/static/
<Directory /var/www/djangotest/media>
Require all granted
</Directory>
<Directory /var/www/djangotest/static>
Require all granted
</Directory>
WSGIScriptAlias / /var/www/djangotest/djangotest/wsgi.py
<Directory /var/www/djangotest/djangotest>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
這裡我的項目地址位置 /var/www/djangotest/目錄下
修改你項目中的wsgi.py文件,改為以下內容
import os
from os.path import join,dirname,abspath
import sys #3
PROJECT_DIR = dirname(dirname(abspath(__file__))) #4
from django.core.wsgi import get_wsgi_application
sys.path.insert(0,PROJECT_DIR) #5
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangotest.settings")
#這裡將settings文件換成你自己的settings即可
application = get_wsgi_application()
3,4,5 為新加的內容,作用是讓腳本找到django項目的位置,也可以在mysite.conf中做,
用WSGIPythonPath,想瞭解的自行搜索, 第 7 行如果一臺伺服器有多個django project時一定要修改
成上面那樣,否則訪問的時候會發生網站互相串的情況,即訪問A網站到了B網站,一會兒正常,
一會兒又不正常(當然也可以使用 mod_wsgi daemon 模式)
5. 設置目錄和文件許可權
一般目錄許可權設置為 755,文件許可權設置為 644
sudo chmod -R 644 j1945LibraryMS #項目為djangotest
sudo find j1945LibraryMS -type d | xargs chmod 755
apache 伺服器運行用戶可以在 /etc/apache2/envvars 文件裡面改,這裡使用的是預設值,
當然也可以更改成自己的當前用戶,這樣的話許可權問題就簡單很多,但在伺服器上推薦有 www-data 用戶,
更安全。以下是預設設置
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
上傳文件夾許可權
media 文件夾一般用來存放用戶上傳文件,static 一般用來放自己網站的js,css,圖片等,在settings.py中的相關設置
STATIC_URL 為靜態文件的網址 STATIC_ROOT 為靜態文件的根目錄,
MEDIA_URL 為用戶上傳文件夾的根目錄,MEDIA_URL為對應的訪問網址
在settings.py中設置:
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/dev/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
# upload folder
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
STATICFILES_DIRS=[
('css',os.path.join(STATIC_ROOT,