Linux 网站环境搭建
服务器:10.88.158.65
用户名:tkamc 密码:[email protected] root密码:[email protected]
- 下载安装anaconda3:
Anaconda3-5.2.0-Linux-x86_64.sh
2、bash Anaconda3-5.2.0-Linux-x86_64.sh
在安装过程中全部输入yes,加入环境变量
- 更新环境变量:
#source ~/.bashrc
- 测试
#python 是否是python3.6
安装过程:
[tkamc@localhost Downloads]$ mkdir /home/tkamc/Anaconda
[tkamc@localhost Downloads]$ cp Anaconda3-5.0.1-Linux-x86_64.sh /home/tkamc/Anaconda
[tkamc@localhost Downloads]$ cd /home/tkamc/Anaconda
[tkamc@localhost Anaconda]$ echo $SHELL
/bin/bash
[tkamc@localhost Anaconda]$bash Anaconda3-5.0.1-Linux-x86_64.sh
[tkamc@localhost Anaconda]$python -V
[tkamc@localhost Anaconda]$vi ~/.bash_profile
[tkamc@localhost Anaconda]$PATH=$PATH:/home/tkamc/anaconda3/bin
[tkamc@localhost Anaconda]$source ~/.bash_profile
[tkamc@localhost Anaconda]$python -V
- 安装所需python包
指定镜像安装:
pip install --proxy=http://10.88.49.1:808 django==2.0.5 -i https://pypi.doubanio.com/simple
django-celery==3.2.2
djangorestframework
markdown # Markdown support for the browsable API.
django-filter # Filtering support
celery==3.1.26.post2
mysqlclient==1.3.12 #前提装上mysql
django-cors-headers==2.0.1
Django-auth-ldap
- 安装python_ldap依赖包
下载rpm:
openldap-2.4.44-15.el7_5.x86_64.rpm
cyrus-sasl-devel-2.1.27-0.3rc7.fc29.x86_64.rpm
openssl-devel-1.0.2k-12.el7.x86_64.rpm
openldap-devel-2.4.44-15.el7_5.x86_64.rpm
#依次执行以上四个安装
#rpm -ivh --force --nodeps
openssl-devel-1.0.2k-12.el7.x86_64.rpm
执行:
#pip install --proxy=http://10.88.49.1:808 python_ldap -i https://pypi.doubanio.com/simple
Oralce客户端安装与配置
在root用户下
1、下载oracle客户端安装包/home/tkamc/package/
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
2、解压默认在/usr/lib下
#cd /home/tkamc/package/
#rpm2cpio oracle*.rpm |cpio -idvm 解压
3、移动:
mv usr /home/tkamc
4、配置环境变量:
vi /etc/profile (在root下)
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:
export ORACLE_HOME=/home/tkamc/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_BASE=/home/tkamc/usr/lib/oracle/11.2
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH
source /etc/profile
5、创建三个文件
cd /home/tkamc/usr/lib/oracle/11.2/client64
mkdir -p network/admin
[tkamc@localhost admin]$ vi tnsnames.ora
#tnames.ora Network Configuration File:/usr/lib/oracle/11.2/client64/network/admin
# Generated by Oracle configuration tools.
ORCL45 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.88.17.45)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
配置TNS:
[tkamc@localhost admin]$ vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
[tkamc@localhost admin]$ vi sqlnet.ora
#SQLNET.AUTHENTICATION_SERVICES= (NTS)
#NAMES.DIRECTORY_PATH= (TNSNAMES)
- 如果中文乱码:
#vi /etc/profile
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
安装mysql
在tkamc用户下(最好不要在root下) root 默认指向/etc/my.cnf 配置文件 加权限 #chmod -R 777 mysql
1、下载解压:
#tar -zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
- 改名
#cd /home/tkamc
#mv mysql-5.6.36-linux-glibc2.5-x86_64 mysql
3、安装mysql
#cd mysql/scripts
初始化执行:
./mysql_install_db --user=tkamc --basedir=/home/tkamc/mysql --datadir=/home/tkamc/mysql/data
4、修改配置文件
#cd ../support-files/
#vi mysql.server
#vi ~/.bash_profile
#. ~/.bash_profile
#echo $PATH
5、创建目录
#mkdir /home/tkamc/mysql/data
#cd /home/tkamc/mysql/data
#vi my.cnf
[mysqld]
datadir=/home/tkamc/mysql/data
socket=/tmp/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for oracle according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#skip-grant-tables
[mysqld_safe]
log-error=/home/tkamc/mysql/log/localhost.localdomain.log
pid-file=/home/tkamc/mysql/log/localhost.localdomain.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
- 创建目录
#mkdir /home/tkamc/mysql/log
#cd /home/tkamc/mysql/log
#touch $HOSTNAME.pid
#touch $HOSTNAME.log
7、再次修改配置文件
#cd /home/tkamc/mysql
#vi my.cnf
[mysqld]
datadir=/home/tkamc/mysql/data
socket=/tmp/mysql.sock #此处必须这样写 以便后期认证登录使用
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for oracle according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#skip-grant-tables #此处用于无法校验登录使用
[mysqld_safe]
log-error=/home/tkamc/mysql/log/oracle.log #oracle为hostname
pid-file=/home/tkamc/mysql/log/oracle.pid #oracle为hostname
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
8、修改配置文件
#cd /home/tkamc/mysql/support-files
#vi mysql.server
修改 46、47、211行记录
46 basedir=/home/tkamc/mysql
47 datadir=/home/tkamc/mysql/data
211 conf=/home/tkamc/mysql/data/my.cnf
- 启动mysql
./mysql.server start
10、修改密码
对于无法通过sockt认证可以通过如下方法修改密码
用命令编辑配置文件
#vim /home/tkamc/mysql/my.cnf
在[mysqld]下添加skip-grant-tables,然后保存并退出
- 重启mysql服务
#service mysqld restart
12、更改root用户名
重启以后,执行mysql命令进入mysql命令行
执行:
MySQL> UPDATE mysql.user SET Password=PASSWORD('新密码') where USER='root';
MySQL>
MySQL> exit
把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql
#service mysqld restart
13、登录
mysqladmin -u root password msyql
14、配置远程访问
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #允许root用户远程访问
mysql>FLUSH PRIVILEGES; #刷新权限
mysql>exit
15、设置最大连接数据
mysql -u root –p
mysql>show variables like 'max_connections';(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>FLUSH PRIVILEGES;
mysql> show processlist; #所有用户的当前连接
#命令 \c exit mysql退出
- 数据库导入
生成sql语句。
#mysql>source /home/tkamc/abc.sql;
问题处理:
Centos下登陆mysql报错#1045 - Access denied for user 'root'@'localhost' (using password: NO)
解决方法很简单,
1.先关闭mysql服务: sudo /etc/init.d/mysqld stop 或者 service mysql stop
2.用管理员身份登陆mysql : mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3.获取root权限: mysql -u root mysql
4.更改密码: mysql> UPDATE user SET Password=PASSWORD('你想要的密码') where USER='root';
5.归还特权: mysql> FLUSH PRIVILEGES;
6.退出mysql登陆: mysql> quit
7.启动mysql服务: sudo /etc/init.d/mysqld start 或者 service mysql start
8.可以用新密码登陆啦: mysql -uroot -p你的密码
Django+uwsgi+ngnix安装
原理详解:https://www.cnblogs.com/Xjng/p/aa4dd23918359c6414d54e4b972e9081.html
- 安装uwsgi
Pip install --proxy=http://10.88.49.1:808 uwsgi -i https://pypi.doubanio.com/simple
2、测试启动
uwsgi --http 10.88.158.65:8080 --file TopSpeedData/wsgi.py --static-map=/static=static
- 访问10.88.158.65:8080 出现页面成功!
- 创建uwsgi.py文件
cd /home/tkamc/TopSpeedData/TopSpeedData
vi uwsgi.ini
写入:
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/home/tkamc/TopSpeedData/
# 指定项目的application
module=TopSpeedData.wsgi:application
# 指定sock的文件路径
socket=/home/tkamc/TopSpeedData/TopSpeedData/uwsgi.sock
# 进程个数
workers=5
pidfile=/home/tkamc/TopSpeedData/TopSpeedData/uwsgi.pid
# 指定IP端口
http=10.88.158.65:8080
# 指定静态文件
static-map=/static=/home/tkamc/TopSpeedData/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/home/tkamc/TopSpeedData/TopSpeedData/uwsgi.log
- 启动项目
uwsgi --ini uwsgi.ini
- 访问10.88.158.65:8080 出现页面成功!
安装ngnix:
Ngnix安装依赖gcc、pcre、openssl、zlib这四个包。
通过rpm -qa|grep gcc 命令查看。
- 解压:
#tar -zxvf /home/tkamc/package/nginx-1.12.0.tar.gz
- 配置安装:(在root用户下,默认安装在/usr/local)
#cd ngnix-1.12.0
#./configure
#make
#make install
- 启动ngnix:
#/usr/local/nginx/sbin/nginx
4、查看进程
#ps aux | grep nginx
- 测试访问:10.88.158.65:80
正常启动!
- 修改配置:
#vi /usr/local/nginx/conf/nginx.conf
server { # 这个server标识我要配置了
listen 80; # 我要监听那个端口
server_name 127.0.0.1:8080 ; # 你访问的路径前面的url名称
#access_log /var/log/nginx/access.log main; # Nginx日志配置
charset utf-8; # Nginx编码
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型
error_page 404 /404.html; # 错误页面
error_page 500 502 503 504 /50x.html; # 错误页面
# 指定项目路径uwsgi
location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
uwsgi_pass unix:/home/tkamc/TopSpeedData/TopSpeedData/uwsgi.sock;# 指定uwsgi的sock文件所有动态请求就会直接丢给他
}
# 指定静态文件路径
location /static/ {
alias /home/tkamc/TopSpeedData/static/;
index index.html index.htm;
}
}
- 重启nginx:
#cd /usr/local/nginx/sbin/nginx
#./nginx restart
- 访问10.88.158.65:8080
出现项目页面表示成功!
常用命令:
#fuser -k 80/tcp 关闭80端口进程
#ps -ef | grep nginx 查看进程
#rpm -qa | grep gcc 查看是否安装gcc
#netstat -nap | grep 8080 查看8080端口