服务器搭建学习

ip 182.92.176.254
免密访问服务器
1、先在主机A上创建密钥对
ssh-keygen -t rsa
这时可以在主机A上看到生成的秘钥~/.ssh/id_rsa 和公钥 ~/.ssh/ id_rsa.pub
2、把主机A的公钥放在主机B上
scp -r /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys

df -h 磁盘挂载情况
fdisk -l 查看磁盘情况
fdisk /dev/… 需要挂载的磁盘 n,p,1 defualt wq
格式化磁盘 mkfs.ext3 /dev/xvdb1
写入新的分区信息 echo /dev/xvdb1 /mnt ext3 default 0 0 >> /etc/fstab
挂载mount /dev/xvdb1 /mnt

java 安装:https://blog.csdn.net/small_love/article/details/77394721

新的安装postgres:
https://yum.postgresql.org/9.6/redhat/rhel-6-x86_64/repoview/postgresqldbserver96.group.html
https://centos.pkgs.org/6/centos-x86_64/libxslt-1.1.26-2.el6_3.1.x86_64.rpm.html
下载四个 postgres, 还有libxslt,rpm -ivh
yum install postgis2_96

(
安装postgres 没用这个:postgresql postgresql-devel postgresql-libs postgresql-pltcl
yum install http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install postgresql95-server postgresql95-contrib postgresql95-devel
yum install postgis2_95
)
//yum install postgis
永久存在path:cd ~/ ,vi .bashrc ,加入自己的path: PATH=$PATH:/usr/local/MATLAB/R2011a/bin/
创建数据库 initdb dir…
启动服务 pg_ctl -D (刚才的)dir -l (应该是保存log的位置) start
停止服务 pg_ctl -D dir -s -m fast
或者 pg_ctl -D dir stop
启动服务,createdb databasename,shell连上数据库psql databasename,
created 后,就可以连接这个databasename了

http://downloads.mongodb.org/linux/mongodb-linux-x86_64-amazon-v3.2-latest.tgz
安装mongodb 下载压缩包,解压,mv mongodb-linux-x86_64-3.2.10 /usr/local/mongodb,添加到path export PATH=/usr/local/mongodb/bin:$PATH

redis:
$ wget http://download.redis.io/releases/redis-3.2.6.tar.gz (自己上传到服务器)
$ tar xzf redis-3.2.6.tar.gz
$ cd redis-3.2.6
$ make
$ make install
redis:
port 6379
修改生成默认日志文件位置 logfile /home/futeng/logs/redis.log
配置持久化文件存放位置 dir /home/futeng/data/redisData
cp redis.conf /etc/redis/
后台启动 redis-server ./redis.conf &
停止:redis-cli shutdown

memcached:
rpm -q libevent 检查是否安装libevent,有就删除他 rpm -e --nodeps libevent-2.0.21-4.el7.x86_64 (忘了删除,直接走后面流程,但是也成功了)
mac上找不到 openssl 错误结局方法,在libevent ./configure --prefix=/usr/local CPPFLAGS="-I/usr/local/Cellar/openssl/1.0.2h_1/include" LDFLAGS="-I/usr/local/Cellar/openssl/1.0.2h_1/lib"
指定openssl的绝对路径
然后下载 libevent
tar xzvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure (./configure --prefix=/usr )
make
make install
(安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent) )
tar xzvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure ( ./configure --with-libevent=/usr )
make
make install
memcached:
停止:kill -9 pid
memcached -d -p 11211 -vv >> mem.log 2>&1 -l 127.0.0.1禁止外网访问
出现bug:error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
whereis libevent-2.0.so.5,
LD_DEBUG=libs ./memcached -v 找到一个默认路径比如 /usr/lib/
sudo ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5,连接完再 ldd 下
儿童读物启动:memcached -d -p 11211 -vv -l 127.0.0.1 -P /alidata1/memcached/memcached.pid

memcached -d -p /alidata1/memcached/mem.log -m 64m
yum 不能安装时,修改/etc/yum.repos.d中,如果是安装完postgresql后有pgdg95,不能下载xml,那么删除pgdg-95-centos.repo中的https:// (有不能下载,没有才能下载,还不知道原因),不行再替换源:参考链接 https://www.cnblogs.com/imweihao/p/7357484.html
rabbitmq
yum install rabbitmq-server
rabbitmq:
rabbitmq-server -detached
PID file not written; -detached was passed.

先 yum install openssl , yum install openssl-devel, (这一步先不编译python,和后面的一起编译)
安装python ,下载到本地,上传 scp dir root@ip:dir,解压
先安装下面的
tar -xf all.tar
安装yum install gcc

  1. ./configure
  2. make
  3. make install
    安装pip3
    安装setuptools,https://pypi.python.org/pypi/setuptools ( python3 setup.py install)
    需要依赖 yum install zlib ,yum install zlib-devel
    再次编译python3,make,安装
    在安装setuptools
    python3 setup.py install
    wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
    注意:wget获取https的时候要加上:–no-check-certificate
    python3 setup.py install
    升级pip3 install --upgrade pip
    升级遇到困难解决:https://blog.csdn.net/xujian0000abcd/article/details/50497456

安装
pip install uwsgi
pip3 install python3-memcached
psycopg2 celery pillow xmltodict pycrypto openpyxl
Django djangorestframework django-debug-toolbar xmltodict django-celery
six requests redis pymongo kombu geoip2 celery billiard

chown -R otheruser dir 改变访问权限
ps -ef|grep uwsgi 查看uwsgi 相关进程
启动postgres 数据库
切换postgres用户,pg_ctl -D dir -l file start

mongo:
mongod --dbpath data/ --logpath logs/mongod.log --fork --port 40000 --logappend
–dbpath data/ --logpath logs/mongod.log --fork --bind_ip 127.0.0.1
关闭,进入shell端,mongo

use admin
db.shutdownServer()

安装了nginx
从官网下载的nginx安装
configure make make install
启动 nginx, 停止 nginx -s stop
nginx -t -c /usr/nginx/conf/nginx.conf
nginx和uwsgi的使用
sudo ln -s dir dir 这里都用绝对地址,或者把文件拷贝到nginx运行的server目录中也可以
在 .conf配置好了后,collectstatic ,
可以运行起来:

uwsgi --socket /var/run/pandora/sock_childbook --module wqmac.wsgi --chmod-socket=666

uwsgi --ini childbook.ini
关于有的问题: 如果改变了conf , 那么nginx一定要reload: nginx -s reload
conf和uwsgi.ini中的socket等路径一定要一致

其他命令:
df 磁盘情况
加新的用户useradd passwd
用户情况:cat /etc/group文件包含所有组 /etc/shadow和/etc/passwd系统存在的所有用户名
vi /etc/passwd 修改用户权限
端口占用:netstat –apn | grep 8080和netstat -anp | grep redis

其他事项:
在migrate的时候,找不到.so文件,搜索,链接到/usr/lib/下,在执行sudo ldconfig

系统重启命令:shutdown -r now
开机启动:
https://www.cnblogs.com/lexiaofei/p/7850316.html
自装centos80不能访问,如果是防火墙问题:
加入80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启:
firewall-cmd --reload

nginx访问文件403:https://blog.csdn.net/onlysunnyboy/article/details/75270533

一些命令:
pgrep -f -d, uwsgi查看uwsgi的所有进程id
top -p $(pgrep -f -d, uwsgi) 列出进程

你可能感兴趣的:(服务器搭建学习)